VBScript でいくつかのアクションを実行する Web サービスからスクリプトを実行します。このスクリプトは、エラーなしでコマンド ラインから実行されます。ProcessStartInfo を使用してサービスからこのスクリプトを実行すると、プロセスを実行しているユーザーがログインしていない場合は実行されません。次のエラーが発生します: CScript エラー: 設定の読み込みに失敗しました。(アクセスは拒否されます。) ただし、サービスを実行するユーザーがリモート デスクトップ経由でログインすると、サービスは正常に実行されます。これは何が原因で、どうすれば解決できるのでしょうか?
1016 次
1 に答える
0
「アクセスが拒否されました」というメッセージが表示されたときに、VBScriptが実行されているユーザーIDは何ですか。NT AUTHORITY\NETWORK SERVICE
私はそれがそれを説明するかもしれないと思うでしょう。
cmdまたはエクスプローラーでダブルクリックしてログインしたときに何かを実行すると、プロセスは現在のユーザーのユーザーID(セキュリティコンテキスト)で実行されます。ローカルコンソールセッション(サービスセッションなど)の外部で実行している場合、通常は親サービスプロセスのユーザーIDで実行されます。
「サービス」とは、Windowsサービス(Services.mscに表示されるもの)またはWebサービスを指しますか?Webサービスの場合は、現在のIISアプリケーションプールのユーザーIDで実行されます。
Webサービススクリプトから「whoami」(コマンドラインプログラム)を実行して、コンソール出力をファイルにリダイレクトしてみてください。これにより、使用している現在のユーザーIDがわかります。
于 2012-07-17T12:31:05.953 に答える