0

WMIを使用してインストルメント化したアプリケーションがあり、であるWMIメソッドを追加しましたManagementTask。別のアプリケーションからこの管理タスクを呼び出そうとすると、メソッドは正常に呼び出されますが、その実行スレッド内で、ファイルに書き込み、SCMにコマンドを送信し、デバッグログを実行しようとしています。これらの3つの項目はいずれも、アクセス許可の問題が発生しているように見えるため、実行されません。

ファイルに書き込もうとすると、エラーが発生します

必要な偽装レベルが提供されていないか、提供された偽装レベルが無効です。

これをどのように解決しますか?

4

1 に答える 1

0

アル、あなたの痛みを感じます。ネイティブの WMI メソッドを使用してファイルに書き込もうとすると、WMI にはその機能がないため、失敗します。ただし、VBSで肉付けされた C# を使用して Frank White によって作成された回避策があります。彼が作成した魔法の行は次のとおりです。

InputParameters("CommandLine") = "cmd /c echo myFTPCommands > c:\ftpscript.txt"

詳細については、VBS メソッドを参照してください。質問がある場合は、ここに投稿してください。はい、VBS ページに示されているように、impersonationLevel を設定する必要があります。

コマンドを SCM に送信する場合は問題ないはずですので、個別に試して問題がないことを確認してください。デバッグ ログの場合、ファイルをリモート システムに書き込んでいる場合は、上記の回避策を使用する必要があります。

于 2012-11-21T18:27:32.880 に答える