使用 ps1 脚本将组添加到 AD 用户
Adding groups to AD user with a ps1 script
使用以下脚本,我想为 AD 用户添加一个组,但没有成功,而且我没有收到任何错误。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq $Userid"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
这样的过滤对我不起作用(并产生错误),但是在 $Userid 前后添加 '
就可以了。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq '$Userid'"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
这也有效(没有单引号):
$User = Get-ADUser -Filter {SamAccountName -eq $Userid}
由于您只是在 sAMAccountName 上进行直接 -eq
匹配,因此您不需要使用 -Filter
,Identity
参数将与其他输入一起接受:
- A distinguished name
- A GUID (objectGUID)
- A security identifier (objectSid)
- A SAM account name (sAMAccountName)
这使您的代码非常简单:
$User = Get-ADUser -Identity $Userid
为了进一步简化,您甚至根本不需要使用 Get-ADUser
!
Add-ADGroupMember -Members
(link) 接受与我为 Identity
...
提到的相同的参数
所以可以直接使用$UserID
:
param($Userid,$AdditionalGroup)
Add-ADGroupMember -Identity $AdditionalGroup -Members $UserID
使用以下脚本,我想为 AD 用户添加一个组,但没有成功,而且我没有收到任何错误。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq $Userid"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
这样的过滤对我不起作用(并产生错误),但是在 $Userid 前后添加 '
就可以了。
param($Userid,$AdditionalGroup)
# Get user
$User = Get-ADUser `
-Filter "SamAccountName -eq '$Userid'"
# Add comment
Add-ADGroupMember `
-Identity $AdditionalGroup `
-Members $User
这也有效(没有单引号):
$User = Get-ADUser -Filter {SamAccountName -eq $Userid}
由于您只是在 sAMAccountName 上进行直接 -eq
匹配,因此您不需要使用 -Filter
,Identity
参数将与其他输入一起接受:
- A distinguished name
- A GUID (objectGUID)
- A security identifier (objectSid)
- A SAM account name (sAMAccountName)
这使您的代码非常简单:
$User = Get-ADUser -Identity $Userid
为了进一步简化,您甚至根本不需要使用 Get-ADUser
!
Add-ADGroupMember -Members
(link) 接受与我为 Identity
...
所以可以直接使用$UserID
:
param($Userid,$AdditionalGroup)
Add-ADGroupMember -Identity $AdditionalGroup -Members $UserID