2012-04-17 3 views
1

기본 팀 사이트 서식 파일의 기본 페이지에서 나는 기본적으로 일정 웹 파트 및 일정보기가 일정 목록보기 일정보기를 기반으로합니다. 내 문제는 캘린더 목록에 새 캘린더 오버레이를 적용한 후 기본 페이지보기가이 변경 사항을 반영하도록 자동으로 업데이트되지 않는다는 것입니다. 대신 webpart를 편집하고 현재 사용중인 캘린더보기를 선택하고 해당 변경 사항을 적용해야합니다. PowerShell에서이 작업을 수행하려고 시도하고 있습니다.Sharepoint 2010 Calendar Webpart View 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 코드가 있습니까?

답변

0

아이디어가 정확하지만 자세한 내용은 오류가 있습니다. ViewGuid에 의존해서는 안됩니다. this article을보십시오. 도움이 될 것입니다. 그런 다음 .NET 코드를 PowerShell 스크립트로 변환하면 필요한 것을 얻을 수 있습니다. 더 나은 제안은이 코드를 이벤트 리시버에 넣어 목록 업데이트시 발생하는 이벤트에 넣는 것입니다.

관련 문제