将多个用户添加到AD中的组

时间:2017-06-29 20:13:15

标签: powershell active-directory

我有一个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 

2 个答案:

答案 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前面的反推)。