嗨,我有以下 powershell 脚本来创建文件夹,文件夹名称来自电子表格中的 samAccountName 值。我遇到了这个绊脚石
我已经拆分了变量以使其更易于开发
Import-Csv "C:\Users\bhabib\source\repos\TSS---New-Starter-automation-master\adusers.csv" ';' | ForEach-Object {
$upn = $_.SamAccountName + “@domain.com”
$test = $_."samAccountName"
$folder = "C:\Users\bhabib\test"+$test
$path = $folder
New-Item -Path $folder -Type Directory
}
这实际上是在 bhabib 下创建名为 test 的子 test 文件夹,它不使用电子表格的 samAccountName,它只是创建“test”。此外,如果我再次运行脚本,它会导致异常,因为它再次创建“测试”而不是 samAccountName。这是例外
New-Item : An item with the specified name C:\Users\bhabib\test already exists.
At C:\Users\bhabib\source\repos\TSS---New-Starter-automation-master\folder creation.ps1:6 char:9
+ New-Item -Path $folder -Type Directory
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (C:\Users\bhabib\test:String) [New-Item], IOException
+ FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
我的问题是如何解决不从电子表格中获取 samAccountName 的问题,因为这样可以解决问题。电子表格本身并没有损坏,因为我让它与创建广告用户脚本一起使用
我生成了一个测试 csv 文件并尝试从中创建一个新文件夹,它起作用了:
@'
col1;samAccountName
value1;mynewfolder
'@ | Out-File text.csv
Import-Csv text.csv ';' | %{New-Item -Path ("C:\Users\bhabib\test\" + $_."samAccountName") -Type Directory -Force}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句