web-dev-qa-db-ja.com

adminCount> 0のADユーザーを見つけるPowerShellスクリプト

最近、Active Directoryの「adminSDHolder」機能を発見しました。影響を受けるすべてのユーザーをすばやく特定する方法、つまりユーザーアカウントをダンプするスクリプトが必要です。

17
Chris S

このPowerShellスクリプトを使用して、adminCountが0より大きいユーザーを返すことができます。つまり、adminSDHolder機能の影響を受けます。 RSATに付属するPowerShell用ADモジュールをインストールする必要があります。

import-module activedirectory

get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null      
18
MDMarra
([adsisearcher]"(AdminCount=1)").findall()
3
FSailer

これは、MDMarraによる優れた回答の変形です。

Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount

これは、-Filterの代わりに-LDAPFilterを使用します。多くの異なるタイプのアプリケーション間で移植可能であるため、一部の人々はLDAPフィルター構文を使用することを好みます。

フィルターはサーバー側で実行されるため、フィルターとLDAPFilterは同様のパフォーマンス特性を持っていることに注意してください。大規模なディレクトリをクエリする場合は、Where-Objectを使用するのではなく、常にこのように直接フィルタリングしてください。フィルタリング前にすべてのオブジェクトがダウンロードされます。これについては、TechNetの記事 Filter vs. Where-Objectで詳しく説明しています。

2
Nic