1. ホーム
  2. scheduled-tasks

[解決済み] タスクスケジューラ PowerShell スクリプトの代わりに openwith.exe プログラムを起動する

2022-03-04 13:18:11

質問

Office 365に自動的に接続し、すべてのユーザーのデフォルトのカレンダー権限を確認者に設定するPowershellスクリプトを作成しました。このスクリプトは、手動で実行すると完全に実行されます。

しかし

WS-2012-R2でタスクスケジューラ経由でpowershellスクリプトを起動しようとしています。

タスクを実行しましたが、テストユーザーのカレンダーのパーミッションをチェックすると、まだ同じ "contributor"のままです。

タスクスケジューラがタスクを起動すると、プロセスが作成され、そのプロセスにはプロセスIDが付与されます。

タスクマネージャーでIDを確認すると、プロセスタブの下に "Pick an App" として表示されました。

右クリックして、詳細をクリックすると、OpenWith.exeと表示されます。

ファイルの関連付けを確認したところ、(.PS1)はWindowsPowershellに関連付けされていました。

エクスプローラでスクリプトファイルの場所に行き、RclickしてOPenWithをPOwershellからWindows Powershell ISEに変更しましたが、タスクシェジューラで実行しても同じことが起こります。("pick and app & OPenWith.exe")。

タスクマネージャで "actions" を編集して、以下のような組み合わせにしてみました。

タスクシュードゥエラーのプロパティで

Program/script: に設定されました。C:Powershell script default reviewer permissions これは動作しません

Then I change that that to C:\WindowsSystem32WindowsPowerShellv1.0POwershell and also PowerShell_ise

を、C:Default reviewer permissions の下にある "add arguments (optional) セクションに追加しました。

また、その逆も同様です。

このスクリプトを実行するにはどうしたらいいのか、どなたか教えてください。

ありがとうございました。

解決方法は?

PowerShellをコマンドライン(CMD、PowerShell Sessionではない)から以下のように起動するとどうなりますか?

powershell -?

のように、必要な構文が表示されるはずです。

例えば、私のは(余分なヘルプ情報を削除して)表示されています。

パワーシェル [-File ]です。

具体的には

-ファイル スクリプトファイルを実行する。

スケジュールタスクの中で、このようなものを使用する必要があります(注意:引用符の使用にも注意してください)。

PowerShell -File "D:\WORK\ps\webtest.ps1"

これが役立つといいのですが