同じ名前のジョブがある場合、ローカルシステムでWindowsTask Schedulerジョブ(SampleJob
)を無効にするバッチファイル(EnableDisable.bat
)を作成しました(SampleJob
)はすでに有効になっており、別のリモートシステムで実行されています。
Run whether user is logged on or not
と一緒にRun with Highest privileges
オプションをオンにしてジョブをセットアップすると、ジョブが機能せず、理由を特定するのが難しく、トラブルシューティングの方法がわからないようです。
for /f "tokens=1" %%j in ('schtasks /Query /S [servername] /TN "SampleJob" /NH ^| findstr "Ready ^| Running"') do schtasks /Change /Disable /TN "%%j"
注:リモートシステムは[
servername
]と呼ばれ、必要に応じて実際のリモートサーバー名に置き換えられます。
EnableDisableJob
Run whether user is logged on or not
Run with Highest privileges
Run only when user is logged on
を使用してジョブを実行すると、問題なく動作するようです。ただし、別のオプションで実行しようとすると、そのアカウントがログオンしていないため、実行できない場合があります。
この種の問題のトラブルシューティングを行う方法と、そのプロセスをどこから始めればよいですか?
ここでこれをトラブルシューティングするには、いくつかのものがあります
User1
アカウントを使用してこのプロセスを実行するマシンからログオフし、User2
アカウントとしてマシンにログオンして、User2
のプロファイルが作成されていることを確認します。したがって、C:\Users\User2
フォルダーが存在するはずです。User2
としてログオンしている間に、スケジュールされたタスクを実行するか、少なくともRun only when user is logged on
とRun with highest privileges
でテストすると、実行時にコマンドプロンプトウィンドウがポップアップ表示され、エラーが表示されます。など、Run whether user is logged on or not
オプションを付けて実行すると思いません。 「アクセスが拒否されました」エラーまたはそのような性質が表示される場合は、権限の問題があります。権限の問題
Run whether user is logged on or not
およびRun with highest privileges
を使用してTask Schedulerスケジュールされたジョブを実行するユーザーアカウントがアクセスできるようにする必要があります。 。 。
cmd.exe
)を実行するschtasks
を実行しますschtasks
をリモートで実行するその他のアイテム
User2
アカウントを、タスクを実行するマシンのローカル管理者に一時的に設定してからログオフし、マシンに戻って、ローカルマシンの権限の問題を除外することを再試行します。
セキュリティの違いを、リモートマシン、ドメインセキュリティグループなどのUser1
およびUser2
と比較します。