VSCodeでPowershell7をつかう

PowershellモジュールでPnP.Powershellを使いたくてUpdateしたところWindows Powershell 5.1では動かないとのことだったのでPowershell7系をインストールして、開発環境がISEではなくVS Code プラスPowershell拡張とMicrosoft さんが言うので動かすまでのメモ


PowerShell 開発のための Visual Studio Code の使用 Microsoft

https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/using-vscode

ここに全部書いてあるんですけど、Microsoft にしろOracleにしろ技術文書はなんでこんなに読みにくく書いてあるんでしょうね。日本語なだけ「ありがたいと思え」って感じではありますけど。
(昔Oracleの分厚い英語マニュアルと格闘してた古参の発言)

Powershell ISE相当の一部実行できる開発環境を手に入れる

ISEはネットの一部では「産廃」とたたかれるほどUIがしょぼいのですが
F5でスクリプト実行
F8で選択部分実行
ができて、実行結果も変数に格納されるのでデバックしながら書いていくことができるので筆者は割とお気に入りです。

WindowsにPowershell7系をインストールする

5.1まではWindows専用でしたが2024年現在クロスプラットフォームになっています。MacやLinuxでPowershellをつかう人がどれくらい居るのかしりませんが。
まずはWindowsに入れないといけません。Wingetが推奨だそうです
バージョンを調べて、

winget search Microsoft.PowerShell

安定バージョンをいれます

winget install --id Microsoft.Powershell --source winget

Preview版をつかいたい方は上記リンクのMicrosoft サイトを直接参照してください。

推奨の理由はx86かx86かARMプロセッサ版なのかを自動判定してインストールしてくれるからっぽいです。

Visual Studio CodeをWindowsにインストールする

ここで、インストーラーを取って

VS Code を日本語化する

Copilotに聞くと教えてくれます

Visual Studio CodeにPowershell機能拡張を入れる

  1. VS Codeを起動する (スタートメニューからでいい)

  2. Ctrl+Pを押して Quick Openを開く

  3. 「ext install powershell」と入力し、Enter キーを押す

  4. サイド バーに [拡張機能] ビューが開くのでMicrosoft の PowerShell の拡張機能を選択

Quick Openのコマンド入力欄
Powershell機能拡張がヒットしたところ
Powershell機能拡張インストール済みの画面

Visual Code StudioでつかうPowershellを7系に指定する

2024現在Windows Powershell 5.1系とPowershell7系は別物扱いなので両方入ります。そのままだと5.1がVSCodeの拡張機能で動くので7系を指定します。

VS Code Windowsの右下にある{}Powershellの部分をクリックするとShow Powershell Session Menuをクリックする

{}Powershellをクリックしたところ


Show Powershell Session Menuをクリックすると上にメニューが現れる

Switch to:PowerShell(x64)をクリックするとWindows7系に切り替わります
 

Powershell7系にセッションが切り替わった表示

Powershell7環境にモジュールをインストールする

PnP.Powershellを使いたいというのがもとの目的だったのですが以前使っていたModuleはWindows Powershell 5.1のModule Pathにはいっているようなので7系のPathに入れなおします。(パスを通してもいいんですけど、混在するのは良くない未来が待ってる気がする)
まずはFind-Moduleで探す

PS D:\> Find-Module PnP.Powershell

Version              Name                                Repository           Description
-------              ----                                ----------           -----------        
2.5.0                PnP.PowerShell                      PSGallery            Microsoft 365 Pat

Install-Moduleで入れてやる

Install-Module PnP.Powershell

無事インストールできたらImportしてみましょう

Import-Module PnP.Powershell

とりあえず、使えるところまで来ました。今日はここまで。

この記事が気に入ったらサポートをしてみませんか?