ASP.NETアプリケーションで0X80070005(E_ACCESSDENIED)Windowsのタスクスケジューラを使用しようとしながら、
-
25-09-2019 - |
質問
私は現在、VB.NETでASP.NETアプリケーションに取り組んでいますし、その機能の一つは、Windowsタスクスケジューラを使用することです。それは、作成、変更、削除し、ファイル名を指定して実行タスクする必要があるとして、アプリケーションがこの上でかなりの完全な制御が必要になります。
私は全体のヘルプにこのライブラリのを見つけました事、それは私のWindows XPマシン上でもなく、ローカルでのみ動作します。すぐに私は、Windows Server 2003と私のスケジューラオブジェクトを使用するアクセスページ上のIIS6にアプリケーションをデプロイなどとして、私は次のエラーを取得する。
のアクセスが拒否されました。 (HRESULTからの例外:0x80070005(E_ACCESSDENIED))
私は、特定のユーザー(とさえみんな)の権限を与えるなどがネット上のさまざまなソリューションを探しているのは%Windir%\仕事しませんでしたCACLSを使用して作業しても、偽装を使用してバックアップ操作をユーザグループにIUSERを追加しますアプリケーションとしての仕事は、Windows統合認証を使用する必要がありませんれます。
全体的な状況について私を混乱さ一つは、ユーザーが私はタスクスケジューラで約サーバーと泥にアプリケーションをテストすることができ、非常に喜んでリモートデスクトップとログインとしてログインしていますということです。私は(まだ同じユーザの下)のVisual Studioでアプリケーションをローカルで実行して、サーバーのタスクスケジューラでアプリケーションを指している場合も、それが正常に動作します。私は、サーバーからアプリケーションを実行し、私の地元のタスクスケジューラIでそれを指している場合これに加えて、エラーと同じ「アクセス拒否」を取得します。私はそれがブツが、タスクスケジューラライブラリを使用しようとしているいくつかのコンポーネントに権限とは何かタスクスケジューラ権限はないと思います。
作るすべてのことを私はこれが今日以上のために狂気私を運転されているように、このまたは右方向だけでもポインタを解決するために何ができるかいずれかのノウハウを行います。私はそれはIISの問題、偽装およびWindows Serverのセキュリティに来るとき、私は初心者のビットだと言う必要があります。
ありがとうございました
解決
ねえ、私はあなたが何ができるか遅れる場合がありますが自演は、このいずれか
その使用のためにNT AUTHORITY \ SYSTEMで実行するようにタスクを設定されています(C#)と
の文字列NULL = NULL; task.SetAccountInformation( ""、NULL);
とユーザー名を与え、現在のユーザーのためにそれを設定する
の文字列名= "あなたのXPのユーザー名";
若しくは
文字列名= System.Security.Principal.WindowsIdentity.GetCurrent()の名前。
文字列NULL = NULL;
task.SetAccountInformation(ユーザ名、NULL);
私は願っていますあなたのために動作します!!!!そして私はそれがあった方法を知ってみましょう!!!