我试图让所有AD用户都被禁用管理员字段中的用户
以下不起作用,香港专业教育学院尝试了多种方法虽然无法弄明白
Get-ADUser -SearchBase "XXX" -filter {enabled -eq $true} -Properties * | where {Get-aduser -Filter {distinguishedname -eq $_.manager -and enabled -eq $false}}
答案 0 :(得分:0)
我没有已经填充Manager
属性的AD,因此脚本未经过测试。无论如何,一种简单的方法是使用Get-ADUser
创建两个集合。在所有已禁用的帐户中填写一个,在启用的帐户中填写一个。循环启用帐户并检查是否从禁用中找到管理员。
为了加快速度,请将已禁用的帐户存储为包含Group-Object
的哈希表,并使用哈希表的ContainsKey()
方法,如此,
$disabled = Get-ADUser -filter { enabled -ne $true } | group-object `
-AsHashTable -AsString -Property Name
$users = Get-ADUser -filter { enabled -eq $true }
foreach($user in $users) {
if( $disabled.ContainsKey($user.Manager) ) {
# User's manager is a disabled account
}
}