Shorty-Time! Mit dem folgenden Skript kannst du dir alle ausgecheckten Dateien in deiner SharePoint Umgebung anzeigen lassen.

Speicher einfach das Skript und speicher es z.B. mit dem Namen “showAllCheckedOutItems.ps1” und führe es in der SharePoint Verwaltungsshell aus. (Als Administrator diese zu öffnen ist immer öfters eine gute Idee).

 

Powershellscript to display all Checked Out Files (de en)_1

Am Ende des Skripts kannst du auch festlegen, ob der Output in eine Datei gespeichert werden soll.

Hier etwas von meinem Output:

Powershellscript to display all Checked Out Files (de en)_2

 

Powershellscript to display all Checked Out Files (de en)_3

Hoffe, dass dir das Skript vielleicht etwas die Arbeit erleichtert.
Wie immer gilt, don’t be afraIT bei Fragen oder Kommentaren.

# enter your site URL
$spWeb = Get-SPWeb "http://sp13"
 
function GetCheckedItems($spWeb)
{
Write-Host "Scanning Site: $($spWeb.Url)"
foreach ($list in ($spWeb.Lists | ? {$_ -is [Microsoft.SharePoint.SPDocumentLibrary]})) {
 Write-Host "Scanning List: $($list.RootFolder.ServerRelativeUrl)"
 foreach ($item in $list.CheckedOutFiles) {
 if (!$item.Url.EndsWith(".aspx")) { continue }
 $writeTable = @{
 "URL"=$spWeb.Site.MakeFullUrl("$($spWeb.ServerRelativeUrl.TrimEnd('/'))/$($item.Url)");
 "Checked Out By"=$item.CheckedOutBy;
 "Author"=$item.File.CheckedOutByUser.Name;
 "Checked Out Since"=$item.CheckedOutDate.ToString();
 "File Size (KB)"=$item.File.Length/1000;
 "Email"=$item.File.CheckedOutByUser.Email;
 }
 New-Object PSObject -Property $writeTable
 }
 foreach ($item in $list.Items) {
 if ($item.File.CheckOutStatus -ne "None") {
 if (($list.CheckedOutFiles | where {$_.ListItemId -eq $item.ID}) -ne $null) { continue }
 $writeTable = @{
 "URL"=$spWeb.Site.MakeFullUrl("$($spWeb.ServerRelativeUrl.TrimEnd('/'))/$($item.Url)");
 "Checked Out By"=$item.File.CheckedOutByUser.LoginName;
 "Author"=$item.File.CheckedOutByUser.Name;
 "Checked Out Since"=$item.File.CheckedOutDate.ToString();
 "File Size (KB)"=$item.File.Length/1000;
 "Email"=$item.File.CheckedOutByUser.Email;
 }
 New-Object PSObject -Property $writeTable
 }
 }
}
foreach($subWeb in $spWeb.Webs)
{
GetCheckedItems($subWeb)
}
$spWeb.Dispose()
}
 
GetCheckedItems($spWeb) | Out-GridView
 
# alternative output file
# GetCheckedItems($spWeb) | Out-File c:CheckedOutItems.txt -width 300

LEAVE A REPLY

Please enter your comment!
Please enter your name here