我尝试将具有特殊描述的AD的每个用户添加到包含部门属性(最多3位数)作为后缀的组中。
例如
用户" Sam Test"有说明"老板"和部门" 123"。 他应该被添加到Testgroup_123。
我的目标
编写脚本以将用户添加到其关联的测试组_ ???。
测试组中只能有一个Boss(用户)_ ???。
出于测试原因,我只尝试输出名称。
到目前为止,这是我的代码:
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?"}
答案 0 :(得分:1)
如果我理解你的权利,请尝试以下代码:
$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
}
}
}
}