Endpoint Central オンプレミス版 ナレッジベース

カスタムスクリプト機能でPowerShellを実行するにはどうすればよいでしょうか。


質問

カスタムスクリプト機能で、管理対象の Windows に PowerShell スクリプトを実行させたいのですが、そのままでは実行できないようです。どうすればよいでしょうか。
 

回答

PowerShell は、デフォルトの状態ではポリシーの制限により、スクリプトを実行できません。
-ExecutionPolicy Bypass パラメーターを付けてPowerShellの実行ファイルをコマンドから実行し、以下のような回避策をご利用ください。

  1. 実行したいスクリプトをファイルとして保存しておきます(ここでは仮に ScriptName.ps1 とします。)。
  2. 構成 > (左メニューの)構成の追加 > 構成 > Windows > カスタムスクリプト > コンピューター(またはユーザー)を選択します。
  3. 任意の名前と、必要に応じて説明を入力します。
  4. 次に指定した形式でスクリプトを実行する: コマンドライン を選択します。
  5. コマンドラインには以下のようなコマンドを実行します。

    c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo -File "ScriptName.ps1"

    PowerShellの実行ポリシーを一時的に変更するパラメーター -ExecutionPolicy Bypass を付けています。パラメーターに関しては、Microsoft のPowerShellに関する説明をご覧ください。
  6. 依存ファイル: スクリプトファイル ScriptName.ps1 を選択します。
  7. 実行間隔を指定します。
    実行テストを実施する場合などには、以下のような実行間隔にすることで、構成の結果画面からログを確認できる場合があります。

    • 実行頻度: 1回
    • 「トラブルシューティングのためにログを取得する」にチェックを入れる

    構成タブ を開き、 フィルター条件: 構成 > Windows > カスタムスクリプト の条件を設定することで、確認したいカスタムスクリプト構成を見つけます。
    確認したい構成の 実行状態 > 備考欄 に 「ログを閲覧」 リンクが表示されます。(値を返さないスクリプトの場合は、何も表示されません)

  8. 必要に応じて実行ユーザーを変更します。
  9. 配布対象、再試行回数、通知を設定し、[配布]または[今すぐ配布]を選択します。

以上で、PowerShellスクリプトが実行されます。