PowerShell サンプル – サイトの作成、取得、編集、削除

こんにちは、SharePoint サポートの佐伯です。
今回の投稿では、PowerShell を使用してサイトの基本的な操作を実施する方法についてご紹介します。
あまり PowerShell のご経験がない方にも分かりやすくするために、ここではシンプルなサンプルをご紹介していきます。目的の処理を実装する際にご参考になりましたら幸いです。
実装の際は MSDN の資料も合わせてご参照ください。

 

■サイトの作成

#サイトを作成します。
New-SPWeb <Web サイトの URL> -Name <サイトのタイトル>

 

例) サイトを作成する (テンプレートは後で適用)
New-SPWeb https://sharepoint/sites/teamsite/site -Name "テストサイト"

 

#サイトを作成します。
New-SPWeb <Web サイトの URL> -Name <サイトのタイトル> -Template <Web テンプレート>

 

例) Web テンプレートを指定してサイトを作成する (チーム サイト)
New-SPWeb https://sharepoint/sites/teamsite/share -Name "共有サイト" -Template STS#0

 

#サイトを作成します。
New-SPWeb <Web サイトの URL> -Name <サイトのタイトル> -Template <Web テンプレート> -Language <言語識別子 (LCID)>

 

例) Web テンプレート、言語識別子 (LCID) を指定してサイトを作成する (英語のチーム サイト)
New-SPWeb https://sharepoint/sites/teamsite/share -Name "SharingSite" -Template STS#0 -Language 1033

 

補足 : <Web テンプレート> に設定する値は、SPSite.GetWebTemplates メソッドを使用して、サイト コレクション内のサイトを作成する際に使用できる Web テンプレートの一覧を取得し確認します。

 

$site = Get-SPSite https://sharepoint/sites/teamsite $lcid= [System.UInt32]::Parse(1041)
$site.GetWebTemplates($lcid)

 

参考 : New-SPWeb のその他のパラメーターについては下記の資料をご参照ください。
https://technet.microsoft.com/ja-JP/library/ff607579(v=office.15).aspx

 

■サイトの取得

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#サイトのプロパティ値を取得します。
$web.<サイトのプロパティ>

 

例) サイトの GUID を取得する
$web = Get-SPWeb https://sharepoint/sites/teamsite $web.ID

 

例) サイトのタイトルを取得する$web = Get-SPWeb https://sharepoint/sites/teamsite/share $web.Title

 

参考 : その他の <サイトのプロパティ> は下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.spweb_properties(v=office.15).aspx

 

■サイトの編集

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#サイトのプロパティに値を設定します。
$web.<サイトのプロパティ> = <変更後のプロパティ値>
#サイトを更新します。
$web.Update()

 

例) サイトの既定のマスター ページを変更する
$web = Get-SPWeb https://sharepoint/sites/teamsite $web.MasterUrl = "/sites/teamsite/_catalogs/masterpage/oslo.master"
$web.Update()

 

参考 : その他の <サイトのプロパティ> は下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.spweb_properties(v=office.15).aspx

 

■サイトの削除

#サイトを削除します。
Remove-SPWeb <Web サイトの URL>

 

例) サイトを削除する
Remove-SPWeb https://sharepoint/sites/teamsite/share

 

- 補足
目的の処理を実施した後は、SPWeb.Dispose メソッドを使用して SPWeb オブジェクトを閉じ、リソースを解放します。

$web.Dispose()