如何使用 powershell v2.0 或 CMD / VBS 检查 AD 中特定的用户帐户列表是否被禁用

如何使用 powershell v2.0 或 CMD / VBS 检查 AD 中特定的用户帐户列表是否被禁用

1)我有一个包含 sAMAaccountNames 的 txt 列表

2)我需要查询每个帐户名并验证它是否被禁用

3)如果帐户已被禁用,请从 AD 中删除它

如果没有其他办法,我只会手动删除它们,但首先我需要检查列表中的所有帐户,看它们是否被禁用。

我已在此服务器上安装了 powershell v2.0,DC 是 windows server 2003。管理服务器是 windows server 2008。

我没有 Active Directory 模块,也无法安装它。

如何使用 CMD/VBScript 或 powershell v2.0 执行此操作?

我试过跑

dsquery -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"

但我收到以下错误dsquery failed:The parameter is incorrect.:Incorrect object type specified. type dsquery /? for help.

答案1

电源外壳

Get-ADUser -Identity SamAccountName

返回 SamAccountName 的用户对象。

要获取已启用的属性,请使用:

Get-ADUser -Identity SamAccountName | Select-Property Enabled

或者

(Get-ADUser -Identity SamAccountName).Enabled

编辑:或者,缺少 PowerShell AD 模块或 PS 3.0+,使用 ADUC 实现 LDAP 查询,调整显示列以包含您想要的内容,然后将结果导出到文件。就是这样(TechNet)。

答案2

好像我漏了一个*。正确的代码是:

dsquery * -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"

相关内容