数小时以来,我一直在尝试使用Add-ADGroupmember
将用户从CSV添加到组中。我总是得到错误-
Add-ADGroupMember : Cannot validate argument on parameter 'Identity'. The argument is null. Provide a valid value for the argument, and then try running the command again."
这是我正在使用的脚本-
import-module ActiveDirectory
import-csv y:\d1.csv -Delimiter ";" | Foreach-Object {add-adgroupmember -Identity $_.group -Members $_.name}
group;name "CN=example,OU=example,DC=example,DC=example,DC=example";"CN=example,OU=example,OU=example,DC=example,DC=example,DC=example" "CN=example-AE,OU=example,DC=example,DC=example,DC=example";"CN=example,OU=example,OU=example,DC=example,DC=example,DC=example"
我有2000个用户可以添加到大约100个群组中,也许有更好的方法吗?我在这里缺少简单的东西吗?
最佳答案
有时,此类问题是由输入数据文件中的意外数据(或缺少数据)引起的。我认为这是Get-Content
而不是Import-Csv
的问题,但是...
确保您没有从CSV传递空白数据(例如,文件底部的空白行等)。您可以尝试通过Where-Object
检查来管道导入Import-Csv cmdlet的输出,以确保只有有效数据才能到达Foreach-Object
循环:
Import-Csv y:\d1.csv -Delimiter ";" |
Where-Object{-not [String]::IsNullOrEmpty($_.group)} |
Foreach-Object {Add-ADGroupMember -Identity $_.group -Members $_.name}
显然,您也可以对Name属性执行类似的检查。
关于powershell - 用Powershell add-adgroupmember结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105455/