PowerShell


PowerShellって許可設定にしないとPS1実行できないしだるいと思っていたが別にバッチから実行できる。
PowerShellが入っていればコマンドで呼び出して実行すればよい。
セキュリティ意味あるのかな
TEST.ps1ファイル (別にてすと.txtでもよい)

function Hello {
  Write-Host "Hello PowerShell World!!"
}

Hello

バッチ側(x64とx86があり、通常x64)x86 OSの場合規定でx86だろうがまあもう少ないか。

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex -Command ((gc 'TEST.ps1') -join \"`n\")"
::x86のPowerShell
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "iex -Command ((gc 'TEST.ps1') -join \"`n\")"
pause

iex=Invoke-Expression
https://technet.microsoft.com/ja-jp/library/Ee176880.aspx

gc=Get-Content
https://technet.microsoft.com/ja-jp/library/Ee176843.aspx

固有コマンドレットは知ってりゃ便利だが.NETで知ってることは.NETで出来るので覚えようと頑張らんでもいい気はする。

カテゴリー: 運用 タグ: パーマリンク