Active-Directory

PowerShell - 查找非活動且未禁用的使用者

  • August 23, 2020

我寫了這個 cmdlet:

Search-ADAccount -filter {(enabled -eq $true)} -Users Only -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30

但它輸出一個錯誤:

Search-ADAccount : A parameter cannot be found that matches parameter name 'fil
ter'.
At line:1 char:25
+ Search-ADAccount -filter <<<<  {(enabled -eq $true)} -UsersOnly -SearchBase "
ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30
   + CategoryInfo          : InvalidArgument: (:) [Search-ADAccount], Paramet
  erBindingException
   + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory
  .Management.Commands.SearchADAccountCmdlet

有人可以幫忙嗎?

以其他方式過濾它?:

Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 30.00:00:00 |where {$_.enabled}

Search-ADAccount不接受-Filter參數。請參閱Technet 文件Get-Help Search-ADAccount獲取支持的參數列表。

您可以通過管道傳輸搜尋結果Where-Object以僅獲取啟用的使用者:

Search-ADAccount -UsersOnly -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30 |
   Where-Object { $_.Enabled -eq $true }

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