ひとまずPowerShellコマンドをバッチファイルで出力できるよう対応する


【本記事が役に立つ可能性がある場合】
・職場環境上、PowerShellスクリプトの実行ポリシーの変更が容易ではない
・パラメータ取得の自動化をしたい

PowerShellスクリプトは実行ポリシーがあり、古いWindowsのOSでは
デフォルトが「Restricted」という使用禁止の状態となっています。

ただWindowsのdiskpartコマンド等、
通常のコマンドでは期待した出力結果がでないこともあり、
PowerShellのコマンド使いたい。

そんな時はやっぱりバッチファイルを使います。

そして下記のようにPowerShellと頭につけて
PowerShellコマンドを書いてあげれば
バッチファイルで実行されます。

しっかりスクリプトを作成し運用自動化を図る場合は
ポリシー設定の変更から進めるべきです。

以下は参考です。
PowerShellコマンドの冒頭に「Powershell」を付与すればOKです。
-Commandや-NoProfileなどオプション指定がなくても起動します。
ちなみにFormat-Listするためにパイプ処理していますが、
"で囲ってあげればOKです。

get.bat
@echo off

echo 【PowerShellの実行ポリシー】> out2.txt
Powershell Get-ExecutionPolicy >> out2.txt
echo ==================================================================== >> out2.txt
Powershell "Get-PSDrive -PSProvider FileSystem | Format-List" >> out2.txt

出力ログです。

下記は上記のバッチファイルでやりたいことの
PowerShellスクリプトです。ログ名は変えてます。

get.ps1
Write-Output  "【PowerShellの実行ポリシー】" > out.txt
Get-ExecutionPolicy >> out.txt
Write-Output =========================================================== >> out.txt
Get-PSDrive -PSProvider FileSystem >> out.txt
以上ですm(__)m