我有一个CSV文件,其中包含他们所属的用户和组列表。我试图编写相同的脚本,使用PowerShell自动化它,但似乎面临一个错误。当我尝试调试它时,我发现由于某种原因,用户名值为空。
任何帮助都会有所帮助。
$Users = import-csv -Path "C:\Scripts\listofusers.csv"
foreach-Object ($User in $Users)
{
$SAM = $User.'SAM'
$group = $User.'Group'
Add-ADGroupMember -Identity $group -Members "$SAM"
}
测试数据
Group SAM
IT Test1
Engineering Test3
答案 0 :(得分:2)
变化:
foreach-Object ($User in $Users)
为:
foreach ($User in $Users)
在
foreach
语句迭代一组对象,而foreach-object
用于管道
因此请尝试以下方法:
$Users = import-csv -Path "C:\Scripts\listofusers.csv"
foreach ($User in $Users) {
$SAM = $User.'SAM'
$group = $User.'Group'
Add-ADGroupMember -Identity $group -Members "$SAM"
}
答案 1 :(得分:0)
如果数据与您编写的一样,那么您需要在从CSV导入数据时定义分隔符。默认情况下,分隔符是逗号,因此它不适合您的数据。只需使用
$Users = import-csv -Path 'C:\Scripts\listofusers.csv' -Delimiter ' '
如果那不是空格,而是制表符,那么使用`t(在t前面的反推)。