1.PowerShell 始めよう

仕事中PowerShellを触ることになって忘れないようにちょっとずつメモしておきたくブログをはじめました。

 

1.PowerShellのソース編集用_EditorとしてPowerShell iseを使用します。

 キーボードでwindow キー + R 押す

    powershell ise を入力して Enterキー 押す

 

f:id:hellosungbum:20210407232725p:plain

powershell ise 開く

f:id:hellosungbum:20210407232857p:plain

powershell ise イメージ

白い部分(左上)はソースコードのEditor機能で

ダークブルー(左下)の部分はコンソールになります。

右部分はモジュールの導入情報です。

 

2.コンソールでaliasに登録されているコマンド一覧を確認します。

aliasと入力すると一覧が出てきます。

コーディングする時には非常に助かりますので、

覚えておくととても便利です。

長すぎるので一部だけキャプチャーしました。

 

f:id:hellosungbum:20210407234010p:plain

aliasコマンド実行結果

試しにls コマンドを実行してみます。

f:id:hellosungbum:20210407234353p:plain

ls コマンド

3.ファイル実行 

取り敢えずecho.ps1としてファイルに保存して実行してみましょう。

実行は赤い枠に囲まれている緑の開始ボタンを押せばコンソールに実行結果が表示されます。

ソースコード

# write-out で出力
$str = "Test-string"

Write-Host "Write-Host : ${str}"
Write-Output "Write-Output : ${str}"
echo "echo : ${str}"

 

 

f:id:hellosungbum:20210409232516p:plain

実行

 PS C:\Users\x121e> C:\powershell_memo\echo.ps1
このシステムではスクリプトの実行が無効になっているため、ファイル C:\powershell_memo\echo.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
+ CategoryInfo : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess

 

何か怒っていますね。

実行権限がないので、コンソールで実行権限を付与してみます。

f:id:hellosungbum:20210409232951p:plain

権限付与

Set-ExecutionPolicy
-ExecutionPolicy RemoteSigned -Scope Process
を実行したらポップアップ画面が出てきますが、「すべて実行」を選択します。
細かい説明はこちら参照 => ponsuke0531 さんのQita


改めて緑の実行ボタンを押すと実行されます。

f:id:hellosungbum:20210409233447p:plain

実行成功
出力のコマンドにはecho、Write-Error、Write-HostやWrite-Outputなど色々あります。

細かい説明はこちら参照 => tooljp さんのブログ

デッバグする方法

処理を中断したい行にBreakpointを指定してデッバグします。
ショットキーF9あるいは下記のように操作します。

f:id:hellosungbum:20210409234628p:plain

debug
改めて緑の開始ボiンを押せば下記のように処理が中断されてbreakpoinの行まで実行結果がコンソールに表示されるのを確認できます。

f:id:hellosungbum:20210409234832p:plain

breakpoint
F11キーを押せば一歩ずつ進みます。
最後まで実行する場合はF5を押します。

f:id:hellosungbum:20210409235106p:plain

一歩ずつ
次回はExcel操作についてメモしておきます。