我正在尝试从.CSV导入用户和组,从其他域获取用户的DistinguisedName并添加到本地域中的组。我不断得到
无法验证参数“ Identity”的参数。 identity属性为null或为空
.CSV具有ColumnA“ NAMES”,包含SamAccountName,ColumnB“ GROUPS”,并且包含我要将用户添加到的本地域的组。这些是“本地域”组。
我已经尝试了多种方法并获得了相同的结果。我什至将变量写入控制台,它们看起来合法。
这可以很好地将单个用户添加到组:
$dn = Get-ADUser samaccountname -Server "dc.domain.com"
Add-ADGroupMember -Identity "GroupName" -Members $dn
但是当我尝试从.csv导入数据时,情况并非如此:
foreach ($Name in (Import-Csv $inputfile)) {
Write-Host "ADGROUP = $Name.Groups"
Get-ADUser $Name -Server "dc.domain.com" |
Add-ADGroupMember -MemberOf $Name.Groups
}
另一个产生相同“ Identity”空错误的示例:
foreach ($Name in (Import-Csv $inputfile)) {
$dn = Get-ADUser $Name -Server "dc.domain.com"
Write-Host "DN= $DN"
$ADGroup = $Name.Groups
Write-Host "ADGROUP = $adgroup"
Add-ADGroupMember -Identity $ADGroup -Members $dn
}
答案 0 :(得分:1)
我确实不需要修改.csv标头,但确实将它们更改为“名称”和“组”,然后按如下所示修改了我的代码,现在它可以很好地工作,可以从其他域中获取DN名称,并填充Domain Local我正在...运行本地脚本的本地域中的组...
$inputfile = "D:\scripts\file.csv"
ForEach ($Name in (import-csv $inputfile)) {
$dn = get-aduser $Name.names -Server "dc.domain.com"
Write-host "DN= $DN"
$ADGroup = $Name.Groups
write-host "ADGROUP = $adgroup"
Add-ADGroupMember -Identity $ADGroup -Members $dn
}