現在オフラインです。再接続するためにインターネットの接続を待っています

Windows Server 2003 ベースのコンピュータでバッチ ジョブを実行するとエラー メッセージ "アクセスが拒否されました" が表示される

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

現象
Microsoft Windows Server 2003 ベースのコンピュータ上で通常のユーザー アカウントを使用してバッチ ジョブを実行すると、スクリプトが実行されないことがあります。スケジュールされたタスクの機能を使用してバッチ ジョブを実行すると、スケジュールされたタスクのログ ファイル (Schedlgu.txt) に次のエラー メッセージが記録されることがあります。
0x80070005: アクセスが拒否されました。
バッチ ジョブが機能しない原因を突き止めるためにデバッガ プログラムを使用すると、デバッガの出力に次のエラー メッセージが表示されることがあります。
アクセスが拒否されました (エラー 5)
原因
この問題は、次のすべての条件に該当する場合に発生することがあります。
  • Windows Server 2003 ベースのメンバ サーバー上でバッチ ジョブを実行しています。
  • 非対話型のプロセスとしてバッチ ジョブを実行しています。
  • Administrators グループのメンバではないアカウントを使用してバッチ ジョブを実行するように構成しています。
Windows Server 2003 では、Users グループにはコマンド プロセッサ (Cmd.exe) に対する "読み取り" および "実行" のアクセス許可は付与されていません。Cmd.exe プログラムには、デフォルトで、次のアクセス許可が設定されています。
  • 暗黙的なグループである Interactive グループと Service グループには "読み取り" および "実行" のアクセス許可が付与されます。

    : メンバ サーバーでは、TelnetClients グループにも "読み取り" および "実行" のアクセス許可が付与されます。ドメイン コントローラでは、暗黙的なグループである Batch グループにも "読み取り" および "実行" のアクセス許可が付与されます。
  • Administrators グループおよび暗黙的なグループである System グループには、"フル コントロール" のアクセス許可が付与されます。
解決方法
この問題を解決するには、以下のいずれかの方法を使用します。

方法 1

バッチ ジョブを実行するユーザー アカウントに、Cmd.exe プログラムの "読み取り" および "実行" のアクセス許可を付与します。これを行うには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[エクスプローラ] をクリックします。
  2. Cmd.exe ファイルを見つけて右クリックします。Cmd.exe ファイルは %windir%\System32 フォルダにあります。
  3. [プロパティ] をクリックします。
  4. [セキュリティ] タブをクリックします。
  5. [追加] をクリックします。
  6. [選択するオブジェクト名を入力してください] ボックスに、バッチ ジョブを実行するユーザー名を入力し、[OK] を 2 回クリックします。

    : ユーザーを追加すると、"読み取り" および "実行" のアクセス許可が自動的にユーザーに付与されます。
  7. 続行するかどうかを確認するメッセージが表示されたら、[はい] をクリックします。

方法 2

Batch グループに、Cmd.exe ファイルの "読み取り" および "実行" のアクセス許可を付与します。これにより、すべてのバッチ プロセスでコマンド プロセッサの実行が許可されます。これを行うには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[エクスプローラ] をクリックします。
  2. Cmd.exe ファイルを見つけて右クリックします。Cmd.exe ファイルは %windir%\System32 フォルダにあります。
  3. [プロパティ] をクリックします。
  4. [セキュリティ] タブをクリックします。
  5. [追加] をクリックします。
  6. [選択するオブジェクト名を入力してください] ボックスに Batch と入力し、[OK] を 2 回クリックします。
  7. 続行するかどうかを確認するメッセージが表示されたら、[はい] をクリックします。
詳細
この資料で説明した動作は、Microsoft Windows 2000 Server のデフォルトの動作とは異なります。Windows 2000 Server では、デフォルトでは Users グループに対して "読み取り" および "実行" のアクセス許可が付与されます。

暗黙的なグループの詳細については、次のマイクロソフト Web サイトを参照してください。
Task Scheduler
プロパティ

文書番号:867466 - 最終更新日: 12/20/2006 02:56:00 - リビジョン: 1.3

Microsoft Windows Server 2003, Web Edition, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, 64-Bit Datacenter Edition

  • kbtshoot kbprb KB867466
フィードバック