Shell 添加ADGroupMember语法

Shell 添加ADGroupMember语法,shell,powershell,active-directory,Shell,Powershell,Active Directory,我不明白我做错了什么: Get-ADPrincipalGroupMembership UserName | select name | where {$_.name -like "nac*"} | Add-ADGroupMember -Identity **$_.name** -Members UserName 这是我得到的错误: Add-ADGroupMember:无法验证参数“Identity”上的参数。 参数为空。为参数提供有效值,然后 请尝试再次运行该命令 如果$Username中存

我不明白我做错了什么:

Get-ADPrincipalGroupMembership UserName | select name | where {$_.name -like "nac*"} | Add-ADGroupMember -Identity **$_.name**  -Members UserName
这是我得到的错误:

Add-ADGroupMember:无法验证参数“Identity”上的参数。 参数为空。为参数提供有效值,然后 请尝试再次运行该命令


如果$Username中存储了一个值,请确保包含$character,以便PowerShell将其识别为变量。您可能还希望从上一个cmdlet中删除*s。这可能无法作为一个班轮。试试这个:

$Group = Get-ADPrincipalGroupMembership $UserName | select name | where {$_.name -eq "nac*"}

Add-ADGroupMember -Identity $Group.Name -Members $UserName
试试这个:

$Group = Get-ADPrincipalGroupMembership $UserName | select name | where {$_.name -eq "nac*"}

Add-ADGroupMember -Identity $Group.Name -Members $UserName
$groups = get-adprincipalgroupmembership $sourceuser | ? Name -like "nac*"
#check content of $groups
$groups | select Name
add-adprincipalgroupmembership $targetuser -memberof $groups

我相信这会奏效的。否则,请发布错误消息。

您需要注意cmdlet可以处理的
-Identity
参数:

标识参数应为以下参数之一:

  • 可分辨名称(DN)
  • 一个向导
  • 安全标识符(SID)或
  • 安全帐户管理器(SAM)帐户名
这两个cmdlet还允许通过管道将对象发送到Identity参数

对于
addadgroupmember
,这将是一个组对象

对于
获取ADPrincipalGroupMembership
,您可以使用用户、组或计算机对象

这部分代码返回$UserName所属的组对象。 (请记住:
$UserName
是用户的可分辨名称、GUID、安全标识符或SAM帐户名。)

接下来,您要向组添加一个不同的用户,$UserName是组的成员,对吗

在这种情况下,设置一个变量来存储第二个用户,再次使用可分辨名称, GUID、安全标识符或SAM帐户名,然后使用如下内容:

Get-ADPrincipalGroupMembership $UserName | Where-Object { $_.Name -like "nac*" } | Add-ADGroupMember -Members $AnotherUserToAddToThisGroup

你想做什么?如果要将特定组成员身份从一个用户复制到另一个用户,请使用add adprincipalgroupmembership。在本例中,Identity是新用户名。我试图从名为“NAC*”的用户名中获取所有ADgroups(仅这些),并将另一个用户添加到所有这些组中。我现在尝试了这一点,但仍然出现以下错误:无法验证参数“Identity”的参数。参数为空。$\ name可以吗?这是使用它的正确方法吗?试试这个,我不知道为什么$u.name会出现$null…:$Group=Get ADPrincipalGroupMembership$UserName | select name |其中{$u.name-eq“nac*”}Add ADGroupMember-Identity$Group.name-Members$UserName我更改了答案以反映这一点。