将具有 Active Directory 描述属性的用户添加到包含部门属性的组
Add Users with Active Directory Description Attribute to a group containing the Department Attribute
我尝试将具有特殊描述的 AD 的每个用户添加到包含部门属性(最多 3 位数字)作为后缀的组。
例如
A User "Sam Test" has the Description "Boss" and the Department "123".
He should be added to Testgroup_123.
我的目标
编写脚本将用户添加到其关联的 Testgroup_???。
一个测试组只能有一个老板(用户)_???.
出于测试原因,我只尝试输出名称。
到目前为止,这是我的代码:
import-module ActiveDirectory
$user =
Get-ADUser -filter {(description -like "Boss") -or
(description -like "boss") -or
(description -like "Assistant")} -searchbase "OU=TestOU,DC=TE,DC=ADS" -Properties Enabled, description, sAMAccountName, Department | select Department | Foreach {Write-Host "Testgroup_$user<-empty?"}
如果我理解你的权利,试试这个代码:
$Users = Get-ADUser -Filter * -Properties Description,Department
foreach ($user in $Users)
{
if ($user.Description -match "Boss|Assistant")
{
$Dep = $User.Department
if (-not(Get-ADGroup "Testgroup_$Dep"))
{
New-ADGroup -Path "OU=TestOU,DC=TE,DC=ADS" -Name "Testgroup_$Dep" -GroupScope Global
}
else
{
$GroupMembers = Get-ADGroupMember -Identity "Testgroup_$Dep" | Select -ExpandProperty SamAccountName
if ($User.SamAccountName -notin $GroupMembers)
{
Add-ADGroupMember -Identity "Testgroup_$Dep" -Members $User
}
}
}
}
- 首先获取所有用户
- 检查每个用户的描述匹配 "Boss" 或 "Assistant"
- 获取用户的部门属性(例如666)
- 检查组名"Testgroup_666"是否存在,如果不存在则在您定义的路径中新建一个
- 检查用户是否还不是该组的成员,如果不是则将用户添加到组
我尝试将具有特殊描述的 AD 的每个用户添加到包含部门属性(最多 3 位数字)作为后缀的组。
例如
A User "Sam Test" has the Description "Boss" and the Department "123". He should be added to Testgroup_123.
我的目标
编写脚本将用户添加到其关联的 Testgroup_???。
一个测试组只能有一个老板(用户)_???.
出于测试原因,我只尝试输出名称。
到目前为止,这是我的代码:
import-module ActiveDirectory
$user =
Get-ADUser -filter {(description -like "Boss") -or
(description -like "boss") -or
(description -like "Assistant")} -searchbase "OU=TestOU,DC=TE,DC=ADS" -Properties Enabled, description, sAMAccountName, Department | select Department | Foreach {Write-Host "Testgroup_$user<-empty?"}
如果我理解你的权利,试试这个代码:
$Users = Get-ADUser -Filter * -Properties Description,Department
foreach ($user in $Users)
{
if ($user.Description -match "Boss|Assistant")
{
$Dep = $User.Department
if (-not(Get-ADGroup "Testgroup_$Dep"))
{
New-ADGroup -Path "OU=TestOU,DC=TE,DC=ADS" -Name "Testgroup_$Dep" -GroupScope Global
}
else
{
$GroupMembers = Get-ADGroupMember -Identity "Testgroup_$Dep" | Select -ExpandProperty SamAccountName
if ($User.SamAccountName -notin $GroupMembers)
{
Add-ADGroupMember -Identity "Testgroup_$Dep" -Members $User
}
}
}
}
- 首先获取所有用户
- 检查每个用户的描述匹配 "Boss" 或 "Assistant"
- 获取用户的部门属性(例如666)
- 检查组名"Testgroup_666"是否存在,如果不存在则在您定义的路径中新建一个
- 检查用户是否还不是该组的成员,如果不是则将用户添加到组