Powershell - 检查特定 OU 中的所有用户是否都被禁用,如果没有,则禁用

Powershell - 检查特定 OU 中的所有用户是否都被禁用,如果没有,则禁用

我尝试搜索,但什么也没找到。有人能帮我提供一个可以执行此操作的脚本示例吗?

答案1

像这样:

Get-ADUser -Filter * -SearchBase "ou=TheOU,dc=contoso,dc=com" | Disable-ADAccount

如果您的 Powershell 没有这些命令,您可能需要升级它版本。


Try/Catch 示例:

$users = Get-ADUser -Filter * -SearchBase "ou=TheOU,dc=contoso,dc=com"    

ForEach ($user in $users) {
    Try {
        Disable-Account
    }
    Catch {
        Write-Output "$($user) is already disabled."
    }
    Finally {
        # Cleanup tasks, etc.
    }
}

答案2

为了避免禁用已禁用的帐户,您可以将其过滤掉:

Get-ADUser -Filter {Enabled -eq $true} -SearchBase "ou=TheOU,dc=contoso,dc=com" `
| Disable-ADAccount

相关内容