Powershell

如何使用 powershell v2.0 或 CMD / VBS 檢查是否在 AD 中禁用了特定的使用者帳戶列表

  • September 22, 2016
  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.

看來我錯過了一個*. 正確的程式碼是:

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

電源外殼

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)。

引用自:https://serverfault.com/questions/801151