備忘録。
Windows Server 2003やWindows Home Serverで一般ユーザーはタスクスケジューラの使用が制限されてます。使えるようにするには、- %SYSTEMROOT%¥Tasksディレクトリにアクセス権限を与える
- 通常アクセス権限はエクスプローラからアイコンを右クリック→プロパティでセキュリティタブから行えるのですが、このディレクトリはプロパティを開いてもセキュリティタブがありません。コマンドラインから
CACLS %SYSTEMROOT%¥Tasks /E /G ユーザー名:C
これでアクセサリ→システムツール→タスクを開くことができます。 - at.exe/schtasks.exeに読み取り・実行権限を与える
- これらのコマンドを使用する場合。これらのコマンドは通常%SYSTEMROOT%¥system32ディレクトリにあります。こちらはエクスプローラから右クリック→プロパティ→セキュリティタブで設定可能。
一般ユーザーにはコマンドにも権限を与えないとは、さすがはサーバOSと思ったり。
[参考]- 質問:自動起動タスクを実行するユーザーのアクセス権について (@IT会議室 Windows Server Insider)
- Windows Server 2003 ベースのコンピュータでバッチ ジョブを実行するとエラー メッセージ "アクセスが拒否されました" が表示される (マイクロソフトサポートオンライン 文書番号867466)
[2010/6/25 追記] Windows Home Server再起動後、タスクスケジューラのサービスがアクセス拒否のエラーを表示して起動せず。要調査。
[2010/6/26 追記] 25日の原因は/Eオプションを忘れて実行しちゃったため、既存のシステムユーザーIDのアクセス権を削除してしまってた。
[2020/3/2 追記] Windows Server 2016ではat.exe/schtasks.exeは一般ユーザーにも実行権限が与えられているようです。代わりに管理者でも権限変更不能でしたが。
Comments