0
我們正在創建一個Powershell腳本,該腳本將按國家代碼自動將我們的用戶羣分爲兩個AD組,一個用於英語用戶,另一個用於法語用戶。我們在推動這項工作方面面臨挑戰。基於國家代碼的動態AD組
根據每個帳戶的國家,每個帳戶只應在一個列表中。我們列表中的成員的原始源列表是Staff All,我們正在調查兩個組,一個名爲Staff All EN,另一個名爲Staff All FR。它也應該能夠排除那些不再有效的帳戶的已禁用OU。 (見下文)
這是我們到目前爲止有:
$frenchCC = Get-Content .\CCFrench.txt
$staffAll = "CN=Staff-ALL,OU=Internal,OU=DistributionLists,OU=SFCG,DC=sfcg,DC=org"
$staffAllEn = "CN=Staff ALL EN,OU=Internal,OU=DistributionLists,OU=SFCG,DC=sfcg,DC=org"
$staffAllFr = "CN=Staff ALL FR,OU=Internal,OU=DistributionLists,OU=SFCG,DC=sfcg,DC=org"
$Target = Get-ADGroupMember -Identity $staffAll
我們已經嘗試了幾種不同的方法。這個想法是根據國家代碼列表從AD填充法國名單。通過複製Staff-ALL列表來填充Staff-EN,然後刪除法語列表中的所有人。 並且在此過程中的某個地方,刪除處於HR禁用狀態的所有人。
foreach ($Person in $Target) {
Add-ADGroupMember -Identity $staffAllEn -Members $Person.distinguishedname -confirm:$false
}
foreach ($Country in $frenchCC) {
Add-ADGroupMember -Identity $staffAllFr -Members (Get-ADUser -Filter '"$country"' -eq '") -confirm:$false
}
foreach ($Country in $frenchCC) {
Remove-ADGroupMember "Staff-ALL-EN" -Members (Get-ADUser -Filter $Country) -confirm:$false
}
$searchOU = Specify the OU where your groups are here (OU=Groups,DC=domain,DC=local)
Get-ADGroupMember Staff-ALL-EN -Properties Disabled | Remove-ADGroupMember Staff-ALL-EN
Get-ADGroupMember Staff-ALL-FR -Properties Disabled | Remove-ADGroupMember Staff-ALL-FR
在國家代碼的源文件中,我們將國家代碼放在單引號,雙引號和無引號中。沒有區別。
這真的讓我們陷入了泡菜。任何建議,將不勝感激。
'CCFrench.txt'的內容是什麼? –
CCFrench.txt是法語國家代碼列表。 –
您的AD用戶是否擁有國家/地區代碼屬性? –