1

システムの Win32_OperatingSystem および Win32_ComputerSystem クラスを照会するために、Win2k3 SP2 サーバーを複数の Win2k3 + SP2 および WinXP + SP3 マシンに WMI 経由で接続する VBScript を作成しました。

Set loWMISvc = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=Pkt}\\" & lsStore & "\root\cimv2")

Note: 'lsStore' is the IP address of the computer system I successfully connection too prior. 

次に、リモート システムに新しいオブジェクトを作成しようとしますが、アクセス許可拒否エラー (スクリプトの出力) が返され続けます。

21/11/2011 1:17:50 PM     SUCCESS: Established connection to store
D:\Program Files\SUREfire Systems\Support\MG\QueryStores\QueryStores.vbs(244, 5) Microsoft VBScriptruntime error: Permission denied: 'GetObject'

オブジェクトのImpersonationLevelモニカーとAuthenticationLevelモニカーを期待どおりに設定しても、WMI もクライアントとリモート システムに正しくインストールされているように見えます。リモート システムへの最初の接続も、ローカル管理者ユーザー用です。

表示されていない許可拒否エラーの原因は他に何が考えられますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

私は自分のクエリを解決したと信じています。「権限が拒否されました」というエラーは UAC に関連しているため、リモート システムと同じレベルのアクセスと権限を使用してスクリプトを実行する必要があります。クライアント システムで管理者ユーザー アカウントとして DOS コマンド プロンプトを実行しただけで、GetObject は成功しました。

管理者アカウントは 2 つの異なるシステムで同じように見えますが、これは同じレベルのアクセスとセキュリティを確保する必要があることを証明しています ;)

于 2011-11-22T01:42:36.970 に答える