😢

PnP PowerShellコマンドを実行できない時に確認すること

2023/08/06に公開

記事概要

PnP PowerShellコマンドレットを実行できない時の確認事項を、操作数の多いものから4つの観点でまとめた。

本記事の対象

  • PnP PowerShellコマンドレットが動かない原因を絞り込んで、なるはやで動かしたい方

PowerShellのバージョンが7.2以上であること

下記の自動変数でPowerShellのバージョンを確認する。

$PSVersionTable

PowerShell 7.2以上がインストールされていない場合は手動でPowerShell 7をインストールする必要がある。主なインストール方法を記載する。

Windowsでコマンドからインストールする

Microsoftが推奨する方法で、Windows環境にインストールするコマンドを入力する。

winget search Microsoft.PowerShell

インストールパッケージをWebからダウンロードする

OSがWindowsでない場合、Githubからインストールパッケージをダウンロードする。
https://github.com/PowerShell/PowerShell#get-powershell

PowerShell 7でコマンドレットを実行していること

PowerShell 7はside-by-side環境となり、以前のバージョンと共存する。
既存のWindows PowerShellで実行を試みても実行できないので、下記の方法いずれかで実行環境をPowerShell 7に変更して実行する。

  • PowerShell 7のCUIを起動する
  • ターミナルのシェルをPowerShell 7に変更する

PowerShell 7環境に最新版のPnP PowerShellがインストールされていること

既定の設定では、既存のWindows PowerShellとPowerShell 7は異なる場所にモジュールが配置されるため、既にWindows PowerShellにPnP PowerShellをインストールしていても、PowerShell 7にモジュールを再度インストールする必要がある。
また、コマンドレットの種類によっては最新版のモジュールを推奨されるため、下記のコマンドで最新版のモジュールをインストールする。

Install-Module PnP.PowerShell -force

Import-Moduleコマンドレットを実行していること

PnP PowerShellコマンドレットを実行する前に、モジュールにアクセスできるよう、下記コマンドレットでPnP PowerShellを読み込む必要がある。

Import-Module -Name PnP.PowerShell

参考文献

Windows への PowerShell のインストール
Installing PnP PowerShell

Discussion