if
((Get-PSSnapin | ? { $_.Name -eq "Microsoft.SharePoint.PowerShell" })
-eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}
$RootWeb
= Get-SPWeb http://dev.sharepoint.com/sites/somesite
#$webfilter
= "http://dev.sharepoint.com/sites/somesite"
$webfilter
= ""
$noiselists
= @(
"appdata";
"wfpub";
"Cache Profiles";
"Composed Looks";
"Content and Structure Reports";
"Content type publishing error log";
"Device Channels";
"Form Templates";
"List Template Gallery";
"Long Running Operation Status";
"Quick Deploy Items";
"Notification List";
"Master Page Gallery";
"Style Library";
"Relationships List";
"Solution Gallery";
"Suggested Content Browser Locations";
"TaxonomyHiddenList";
"Theme Gallery";
"Translation Packages";
"Translation Status";
"User Information List";
"Variation Labels";
"Web Part Gallery";
"Converted Forms";
"Reusable Content";
"Site Collection Documents";
"Site Collection Images";
"Suggested Content Browser Locations";
"Access Requests";
)
function
BrowseItems($list) {
$listPrinted = $false
foreach ($item in $list.Items) {
$itemFile = $item.File
if ($itemFile.CheckOutStatus -ne "None") {
if ($listPrinted -ne $true) {
$listPrinted = $true
$currentURL =
$list.parentweb.Url
Write-Host "Checking URL
$currentURL" -f yellow
Write-Host "List "
-f green -NoNewline
Write-Host $list -f cyan
-NoNewline
Write-Host " has items
checked out" -f green
}
$fileName = $itemFile.Name
$userName = $itemFile.CheckedOutByUser.Name;
Write-Host "Document $fileName is
checked out by $userName" -f Magenta
Write-Host "Doing automatic CheckIn on
the item" -f green -NoNewline
$itemFile.CheckIn("Automatic CheckIn.
(Administrator)")
Write-Host " Done!" -f Yellow
}
}
}
function
BrowseLists($lists) {
foreach($list in $lists) {
#Write-Host "lists"
if ($list.title -notin $noiselists) {
if($list.EnableVersioning -eq $true) {
BrowseItems $list
}
}
}
}
function
BrowseSubsites($webs) {
foreach($web in $webs) {
#Write-Host "subsites"
if ($web.Url -like $webfilter + "*") {
BrowseLists $web.lists
BrowseSubsites $web.Webs
}
}
}
function
ForceCheckIn() {
$web = $RootWeb
BrowseLists $web.lists
BrowseSubsites $web.Webs
}
ForceCheckIn
No comments:
Post a Comment