none
タスクスケジューラーによるBatchからPowershell実行について RRS feed

  • 質問

  • タスクスケジューラーからbatchをキックして、powershellスクリプトを呼び出し、Serverをシャットダウンする計画をたてています。

    理由があってこのまわりくどい方法でシャットダウンする必要があり、この手順を変更することはできません。

    batchは手動でキックするとシャットダウンできますが、タスクスケジューラーではシャットダウンできず、ログも出力しません。実行結果は「この操作を正しく終了しました」と表示されますが。下記2ファイルともc:\cscriptフォルダに保存しています。タスクも管理者で実行しており、当然両ファイルとも管理者での実行権限を有しております。原因を探しています。お知恵をお貸しください。

    #shutdown.bat

    @echo off
    @START powershell -NoProfile -ExecutionPolicy Unrestricted .\shutdown.ps1 >> test.log
    @echo on

    #shutdown.ps1

    stop-computer -Force

    2016年8月2日 3:43

回答

  • 作業フォルダ(実行パス)はどうなっていますか?
    特に指定していないのであれば、実行アカウントの作業フォルダになるので、何らかの形で、c:\cscript を定義する必要があります。

    • タスクスケジューラで「開始(オプション)」で作業フォルダを指定する
    • ファイルパスを絶対パスで指定する
    • バッチファイル内でフォルダを移動する

    2016年8月2日 5:01
  • こんにちは、Nasuです。

    以下内容で動作しています。

    LazyDoggさんが書かれた内容通り、権限やパスが通っていないとうまく動作しません。


    #プログラム/スクリプト

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

    #引数の追加

    -noprofile -executionpolicy bypass -file c:\cscript\shutdown.ps1

    #shutdown.ps1

    $d = Get-Date

    "シャットダウン時刻→$d" | Out-File -FilePath C:\cscript\log.txt -Encoding default

    Stop-Computer -Force



    ★良い回答、解決した場合には「回答済み」マークを付けてましょう!

    Satoru Nasu

    Microsoft MVP Cloud and Datacenter Management

    Blog:元「なんでもエンジニ屋」のダメ日記

    Facebook:元「なんでもエンジニ屋」のダメ日記

    2016年8月2日 5:56

すべての返信

  • 作業フォルダ(実行パス)はどうなっていますか?
    特に指定していないのであれば、実行アカウントの作業フォルダになるので、何らかの形で、c:\cscript を定義する必要があります。

    • タスクスケジューラで「開始(オプション)」で作業フォルダを指定する
    • ファイルパスを絶対パスで指定する
    • バッチファイル内でフォルダを移動する

    2016年8月2日 5:01
  • こんにちは、Nasuです。

    以下内容で動作しています。

    LazyDoggさんが書かれた内容通り、権限やパスが通っていないとうまく動作しません。


    #プログラム/スクリプト

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

    #引数の追加

    -noprofile -executionpolicy bypass -file c:\cscript\shutdown.ps1

    #shutdown.ps1

    $d = Get-Date

    "シャットダウン時刻→$d" | Out-File -FilePath C:\cscript\log.txt -Encoding default

    Stop-Computer -Force



    ★良い回答、解決した場合には「回答済み」マークを付けてましょう!

    Satoru Nasu

    Microsoft MVP Cloud and Datacenter Management

    Blog:元「なんでもエンジニ屋」のダメ日記

    Facebook:元「なんでもエンジニ屋」のダメ日記

    2016年8月2日 5:56
  • わざわざxxx.batをたたく必要はないですよ。


    2016年8月2日 5:56
  • 開始(オプション)の指定で解消しました。ありがとうございました。
    2016年8月2日 7:25