スタッフブログ

PnP PowerShell でナビゲーションにリンクを追加する際の注意点


皆さんこんにちは。

今週のブログはT.S.が担当させていただきます。

今回はPowerShellを使用したSharePointオブジェクトの操作についてご紹介します。

PnP PowerShellについて

PnP PowerShell は、SharePoint 管理と自動化を行うための強力なツールです。SharePoint の管理タスクを効率化し、繰り返し作業を最小限に抑えるために使用されます。

このツールは PowerShell スクリプトを介して SharePoint オブジェクトモデルにアクセスし操作します。

PnP PowerShell の主な特徴の1つは、コマンドレットの豊富なセットです。これにより、PowerShellコマンドを使用して SharePoint のサイトコレクション、サイト、リスト、ライブラリ、アイテムなどの操作が可能です。例えば、新しいサイトコレクションを作成したり、既存のリストに項目を追加したりするのに役立ちます。

ナビゲーションへリンクを追加するコマンドの落とし穴

先日、実際に業務で使用したコマンドで引っかかった点について紹介します。

Add-PnPNavigationNode -Location <NavigationType> -Title <String> [-Url <String>] [-Parent <NavigationNodePipeBind>] [-First] [-External] [-AudienceIds <Guid[]> [-OpenInNewTab <SwitchParameter>] [-Connection <PnPConnection>]

上記はSharePointサイトのナビゲーションに対してリンクを設定するコマンドです。

このコマンドの落とし穴は、[-OpenInNewTab] パラメータがPowerShell7でなければ動作しないということです。[-OpenInNewTab] はリンククリック時に別タブで表示するかしないかの設定値を指定するパラメータです。

しかし、Windows PowerShellでコマンドを流したところ、”パラメータが存在しない” というエラーが起きてしまいます。

解決策

[-OpenInNewTab] パラメータはPnP PowerShellのバージョンが2.2.0になってから、[Add-PnPNavigationNode] コマンドに対して追加されたパラメータです。

どうやら2.2.0バージョンで追加されたコマンドレットはPowerShell7でしか動作しないという情報を見つけ、PowerShell7をインストール後、

 

実際に上記のコマンドを実行してみたところ、うまく実行され

実際のサイトナビゲーションを確認するとリンク、別タブで開く設定がうまく実装されていることが確認できました。

PowerShellのバージョンや使用するモジュールのバージョンの違いによって使用できるパラメータの違いなどが存在するため、新しいパラメータや機能が利用できない場合があり、エラーが発生した際にはそこを疑ってみる必要もあると感じました。

最後までご覧いただきありがとうございました!!