0
現在、SharePoint 2010からSharePoint 2010を1年前にアップグレードしました。一部のドキュメントライブラリのバージョン管理で、無制限のバージョンに設定されていて、一部のドキュメントライブラリは約30GB)。私はバージョン管理を5に戻すことにしました(5つの最新バージョン)。Powershellを使用したSharepointのバージョン管理の削除
以下のスクリプトは成功しました。複数のドキュメントライブラリで実行すると、バージョン管理は削除されますが、同じドキュメントライブラリ内のファイルではバージョン管理は削除されません。
例: スクリプトを ファイル1 =を実行する前に100のバージョンは ファイル2 =スクリプト ファイル1 = 5つのバージョン ファイル2 = 100のバージョン
を有している実行した後100のバージョンを持っていました
$SPweb = Get-SPweb "xxxxx" ##EDIT AND PUT THE WEB ADDRESS HERE##
$versionsToKeep =5; ##NUMBER OF VERSIONS TO KEEP##
$SPlist = $SPweb.Lists["Document Library"] ##THE DOC LIBRARY##
foreach ($SPitem in $SPlist.Items)
{
$currentVersionsCount= $SPItem.Versions.count
if($currentVersionsCount -gt $versionstoKeep)
{
for($i=$currentVersionsCount-1; $i -ge $versionstoKeep; $i--)
{
$SPItem.versions[$i].delete()
}
}
}
私はこれがなぜ起こるのか不明です。他の誰かが以前にこれらの問題を抱えていた場合は、
ライブラリの制限を5バージョンに設定してライブラリをループし、各アイテムをpowershellスクリプトで更新することはできませんか?それから、すべてのバージョンをクリアする必要がありますか? –
@dns_nxはうまくいくと思いますが、PowerShellスクリプトでドキュメントライブラリをループするアイデアはありますか? – MattG
はい、私の答えを見てください。 –