LoginSignup
2
1

More than 3 years have passed since last update.

PnP PowerShell で Sharepoint を操作しよう: (5) コンテンツタイプの作成と割り当て

Last updated at Posted at 2019-06-03

皆様こんにちは。

今回は、コンテンツタイプの作成とドキュメントライブラリーへの割り当てをやってみます。
お客様のオーダーは、フォルダーのコンテンツタイプを原型に、色々カスタム属性をくっつけた「属性付きフォルダー」タイプを定義して、これを検索させたいというものです。

使うコマンドは
Get-PnPContentType
Add-PnPContentType
です。

コンテンツタイプを新規に作成する

$ContentTypeGroup="拡張フォルダー情報"
#新規コンテンツタイプ"ExtFolder"を定義する
$ParentCT = Get-PnPContentType -InSiteHierarchy -Identity フォルダー
Add-PnPContentType -Name "ExtFolder" -Description "属性付きフォルダー" -Group "フォルダー コンテンツ タイプ" -ParentContentType $ParentCT
# ここまでで空のコンテンツタイプができる

# 新しいフィールドをサイトに追加する。グループは"拡張フォルダー情報"
Add-PnPField -DisplayName "商品コード" -InternalName "ProductCode" -Type Text -Group $ContentTypeGroup
Add-PnPField -DisplayName "分類コード" -InternalName "CategoryCode" -Type Text -Group $ContentTypeGroup

コンテンツタイプをリスト/ドキュメントライブラリーに割り当てる

#ドキュメントライブラリー"Shared Documents"(ドキュメント) にExtFolder コンテンツタイプを割り当てる
$DocumentLibrary="Shared Documents"
Add-PnPContentTypeToList -List $DocumentLibrary -ContentType $MyCT -DefaultContentType 

ここまでで、内容のない新しいコンテンツタイプ "ExtFolder"ができました。

ビューを追加する

ここまでできたので、ビューを追加して、デフォルトのビューに割り当てます。行数がたくさんになるので、-Paged をセットして、
使う命令は
Add-PnPview
Set-PnPview
です。
どうも、名前を英語、日本語で別々に与えることができないようなので、一度英語名でビューを定義しておいて、あとからSet-PnpView でTitle を日本語名に書き換えています。-paged は行数が増える場合のために必要です。

$ViewName="新しいビュー"
$ViewInternalName="NewView"
Add-PnPView -List $DocumentLibrary -Title $ViewInternalName -ViewType Html -SetAsDefault -Fields @("LinkFilename","ProductCode","CategoryCode","Modified") -Paged 

Set-PnPView -List $DocumentLibrary -Identity $ViewInternalName  -Values @{"Title"="$ViewName"}

今回はここまでにします。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1