使用以下脚本我想向AD用户添加一个组,但它没有这样做,我没有收到任何错误。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq $Userid"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
答案 0 :(得分:2)
这样的过滤对我来说不起作用(并产生错误),但是在$ Userid之前和之后添加'
就可以了。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq '$Userid'"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
答案 1 :(得分:1)
由于您只是在sAMAccountName上进行直接-eq
匹配,因此您不需要使用-Filter
,Identity
参数将接受此操作以及其他输入:
- 尊贵的名字
- GUID(objectGUID)
- 安全标识符(objectSid)
- SAM帐户名称(sAMAccountName)
这使您的代码非常简单:
$User = Get-ADUser -Identity $Userid
为了进一步简化,您根本不需要使用Get-ADUser
!
Add-ADGroupMember -Members
(link)接受与我在Identity
中提到的相同的参数...
所以你可以直接使用$UserID
:
param($Userid,$AdditionalGroup)
Add-ADGroupMember -Identity $AdditionalGroup -Members $UserID
答案 2 :(得分:0)
这也可以(没有单引号):
$User = Get-ADUser -Filter {SamAccountName -eq $Userid}