Powershell功能可将用户从CSV添加到AD组

时间:2016-11-10 00:00:10

标签: powershell active-directory

我正在构建一个脚本来为客户自动化AD部署。我们在CSV文件中有一个准备好的用户和组列表。这些组按照以下格式组织在一个文件中。请记住,我使用相同的CSV文件来创建AD组(在上一步中会发生)。

Name,Description,Members
GroupName,GroupDescription,"user1,user2,user3"

我用来将用户添加到群组的代码如下:

$groups = Import-CSV -Path $groupCSVPath
$groups | % { Add-ADGroupMember -Identity $_.Name -Members $_.Members }

这会导致错误: Get-ADUser:找不到具有标识的对象:' user1,user2,user3'

如果我尝试以下操作,它会起作用:

Add-ADGroupMember -Identity "GroupName" -Members user1,user2,user3

该错误似乎引用了Get-ADUser命令,该命令不接受数组作为输入。但是,Add-ADGroupMember命令可以。使用Add-ADGroupMember命令时为什么会出现Get-ADUser错误?如何让它接受AD用户名的值数组?

1 个答案:

答案 0 :(得分:1)

棘手的一个。问题是由于$_.members的工作方式,Add-ADGroupMember参数作为单个字符串而不是单独值的数组传递给Import-CSV cmdlet。 Get-Help Add-ADGroupMember表明members参数需要数组,而不是字符串。

这应该有用,我已经测试过了:

$groups | % { Add-ADGroupMember -Identity $_.Name -Members $_.members.split(',') }