このスクリプトのデバッグに問題があります。これは、SOに関する以前の質問に基づいており、ほぼ機能しています。
要件:スクリプトは、Webアプリケーション上の各ドキュメントライブラリをループし、「詳細」と呼ばれるビューを作成して、それをデフォルトビューとして設定します。
問題:サイトコレクションのループに失敗しているようです。最初のサイトコレクションとそのライブラリでビューが正常に作成されますが、後続のサイトコレクションでは失敗します。
うまくいけば、それは単純なものです。どんな助けでも大歓迎です。
ありがとう、
アシュリー
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
$siteURL = "http://dev1share"
$site = Get-SPSite($siteURL)
foreach($web in $site.AllWebs) {
$listCounter = $web.Lists.Count
for($i=0;$i -le $listCounter;$i++) {
$list = $web.Lists[$i]
if($list.BaseType -eq "DocumentLibrary") {
$newList = $web.Lists.item($list.ID);
$viewfields = New-Object System.Collections.Specialized.StringCollection
$viewfields.Add("DocIcon")
$viewfields.Add("LinkFilename")
$viewfields.Add("_UIVersionString")
$viewfields.Add("Modified")
$viewfields.Add("Created")
$viewfields.Add("Editor")
$viewfields.Add("FileSizeDisplay")
[void]$newList.Views.Add("Detailed", $viewfields, "", 100, $true, $true)
$newList.Update();
$view=$newList.Views["Detailed"]
$view.DefaultView = $true
$view.Update()
}
}
$web.Dispose();
}
$site.Dispose();