SharePointPnPでサイトをカスタム

2017.12.12
SharePointPnPでサイトをカスタム

MS開発部の永田です。

今回はSharePoint Patterns and Practices (PnP)について
まだまだ日本では情報が少ないので触れてみたいと思います。

SharePointの情報取得や、設定などを行うために
開発する方はCSOMやRestをPowerShellで記述している人は多いと思いますが
SharePointPnPPowerShellを利用すると、コードを少なく簡単に情報取得やカスタムが出来てしまいます。

環境準備

SharePointPnPをインストールします。
SharePointOnlineの場合

Install-Module SharePointPnPPowerShellOnline

SharePoint2016の場合

Install-Module SharePointPnPPowerShell2016

SharePoint2013の場合

Install-Module SharePointPnPPowerShell2013

インストール済の場合でも、頻繁にモジュールが更新されているので定期的にアップデートします。

Update-Module SharePointPnPPowerShell*

開発

環境準備が出来たら後は実際にコードを書いて開発するだけです。
認証情報についてはCSOMで記述していた方法とほぼ変わりません。

#サイトURL、アカウント、パスワード設定
$SiteURL = "https://〇〇〇.sharepoint.com/sites/test"
$AdminAccount = '〇〇〇@〇〇〇.onmicrosoft.com'
$AdminPass = '〇〇〇'
# パスワードを Secure String に変換
$secPass = ConvertTo-SecureString $AdminPass -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential($AdminAccount, $secPass)
Connect-PnPOnline –Url $SiteURL –Credentials ($Credential)

あとはPnPコマンドを投げるだけです。

今まではリストアイテムの取得にも長いコードを書いていましたがPnPを利用すると
以下の1行で取得できてしまいます。

Get-PnPListItem -List "TestList" -Fields "Id","Title","GUID"

他にもAdd-PnPJavaScriptLinkで1行コードを記述するだけで
サイト読み込み時に全ページに指定したJavaScriptを読むカスタムアクションが作成可能です
参考画像では「jquery」を読み込んでいます

PnPを利用するとPowerShellからリボンメニューのカスタムまで可能となります。
下記サンプルのリボンメニューを作成するために書いたコードも、2行だけです。

リファレンス
コードが少なく色々な事が可能になるので効率的な開発が可能になります。

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP