主组ID Powershell变量
我正在尝试修改Powershell脚本以更改/替换Active Directory用户主组。目前,PrimaryGroupID使用的是硬编码的数字,但我们希望有更多的。。。便携式。是否有办法按名称查找特定组并将其作为变量输入下面的代码中-替换“2131”主组ID主组ID Powershell变量,powershell,active-directory,windows-server-2012-r2,Powershell,Active Directory,Windows Server 2012 R2,我正在尝试修改Powershell脚本以更改/替换Active Directory用户主组。目前,PrimaryGroupID使用的是硬编码的数字,但我们希望有更多的。。。便携式。是否有办法按名称查找特定组并将其作为变量输入下面的代码中-替换“2131”主组ID # Set named users primary group to "Disabled Users" Set-ADUser -Identity $User1 -Replace @{PrimaryGroupID="2131"} 我知
# Set named users primary group to "Disabled Users"
Set-ADUser -Identity $User1 -Replace @{PrimaryGroupID="2131"}
我知道我可能想得太多了,答案就在我面前,但是缺乏睡眠(新生婴儿)和整个星期都盯着代码看让我发火
Thanx…因此,从我的原始代码中,直接使用PrimaryGroupID(2131)可以工作
Set-ADUser -Identity $User1 -Replace @{PrimaryGroupID = "2131"}
因此,我进入下一步,将主要组ID放入一个变量中。这很有效,给了我同样的结果
$group1 = "2131"
Set-ADUser -Identity $User1 -Replace @{PrimaryGroupID = $Group1}
我注意到“PrimaryGroup”和“DifferentizedName”条目都有相似的值
- PrimaryGroup:CN=禁用用户,OU=禁用,OU=禁用员工,DC=域,DC=com
- DifferentizedName:CN=已禁用的用户,OU=已禁用,OU=已禁用的员工,DC=域,DC=com
找到了解决办法!而且这并不是因为赛特·阿杜瑟。需要改用Set对象
我自己无法测试它,但我假设类似于
@{PrimaryGroupID=Get-ADGroup“name”}
的东西可以工作。为什么要更改用户的主组?它是“用户禁用”脚本的一部分。基本上,我删除了所有组成员资格,只留下一个禁用的用户。mklement0。。。谢谢你的建议。不幸的是,它似乎不起作用。我收到以下错误:无效类型“Microsoft.ActiveDirectory.Management.ADGroup”。参数名称:PrimaryGroupID+CategoryInfo:InvalidArgument:(user.test:ADUser)[设置ADUser],ArgumentException+FullyQualifiedErrorId:ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Comm and.SetADUser+PSComputerName:[域控制器]
$Group1 = (Get-ADGroup 'Disabled Users').DistinguishedName
Set-ADUser -Identity $User1 -Replace @{PrimaryGroup = $Group1}
$groupSid = $group.sid $groupSid
[int]$GroupID = $groupSid.Value.Substring($groupSid.Value.LastIndexOf("-")+1)
Get-ADUser $User1 | Set-ADObject -Replace @{primaryGroupID="$GroupID"}