0

グループ ポリシー WMI フィルターの WMI クエリについてサポートが必要です。root\CIMV2 WMI プロバイダー内の win32_group 名前空間を照会しています。

複数のウィンドウのコンピューター (XP-8、サーバー 03-12) でローカル セキュリティ グループ (「管理者」など) を検索しています。クエリがコンピューターで実行されるときに、コンピューター名をドメインの等価フィールドに挿入したいと考えています。

ベース WQL ステートメントは次のようになります。

SELECT * FROM win32_group 
WHERE Domain="currentComputerName" and Name="Administrators"

私の目標は、これらの行に沿って WQL ステートメントを実行することですが、これは不適切な WQL ステートメントです。

SELECT * FROM win32_group 
WHERE Domain=(SELECT Name FROM Win32_ComputerSystem) and Name="Administrators" 

ドメインに現在のコンピューターの名前を挿入できることが重要です。これらのコンピューターは、Active Directory (AD) ドメインの一部です。デフォルトでは、win32_group は、ローカル コンピューターのセキュリティ グループに加えて、AD ドメインのすべてのグループを検索します (Domain パラメーターを省略した場合)。ローカル マシン名をドメインとして指定することにより、クエリのパフォーマンスが大幅に高速化されます。これは、クエリの目的にとって不可欠です。

WBEMTEST でいくつかのクエリのバリエーションを試しましたが、うまくいきませんでした。コンピューターの名前を WQL WMI クエリに挿入する方法について、何か考えがある人はいますか? コマンド プロンプトの HOSTNAME のように、使用できる定数はありますか?

ご協力ありがとうございました!

4

1 に答える 1

0

これは何語で書いていますか?または、明確にするために、これらの WMI クエリを実行するために使用しているプログラミング言語またはスクリプト言語は何ですか?

PowerShell では、次のコードを実行してこれを行うことができます。

Get-WMIObject -Query "SELECT * FROM Win32_Group WHERE Domain='$env:USERDOMAIN' AND Name='Administrators'"
于 2013-06-03T14:19:06.107 に答える