基本的なチーム サイト テンプレートのメイン ページには、予定表 Web パーツがあり、既定では、そのビューは予定表リストの予定表ビューに基づいています。私の問題は、カレンダー リストに新しいカレンダー オーバーレイを適用した後、メイン ページ ビューが自動的に更新されず、この変更が反映されないことです。代わりに、Web パーツを編集し、カレンダー ビュー (現在既定で使用されているもの) を選択して、その変更を適用する必要があります。私はこのタスクをpowershellでうまくやろうとしています。
私が使用しようとしていたコードは次のとおりです。
$web = get-spweb "http://portal/site/testsite1"
$file = $web.getfile("default.aspx")
$manager = $file.getlimitedwebpartmanager([System.web.ui.webcontrols.webparts.personalizationscope]::shared)
$manager.webparts | format-list title, ID
$wp = $manager.webparts["GUID_HERE"]
$doclib = $web.lists["Calendar"]
$view = $doclib.Views["Calendar"]
$wp.ViewGuid = $view.ID.ToString("B").ToUpper()
$manager.SaveChanges($wp)
残念ながら、これはカレンダー ビューに適用されている現在のオーバーレイを反映するようにビューを更新するのに効果的ではなかったため、手動による介入のみが機能していました。このタスクを達成するために使用できる PowerShell コードはありますか?