У меня есть сценарий PowerShell, который выводит все документы из всех библиотек в пределах сайта (веб) сферы в файл CSV, перечисленных ниже:Получить все элементы из всех списков с сайта - Powershell
function Get-DocInventory([string]$siteUrl) {
$site = New-Object Microsoft.SharePoint.SPSite $siteUrl
$web = Get-SPWeb "http://contoso.com/sites/Depts/HTG"
foreach ($list in $web.Lists) {
if ($list.BaseType -eq “DocumentLibrary”) {
foreach ($item in $list.Items) {
foreach($version in $item.Versions){
$data = @{
"Version" = $version.VersionLabel
"List Name" = $list.Title
"Created By" = $item["Author"]
"Created Date" = $item["Created"]
"Modified By" = $item["Editor"]
"Modified Date" = $item["Modified"]
"Item Name" = $item.File.Name
"URL"=$web.Site.MakeFullUrl("$($web.ServerRelativeUrl.TrimEnd('/'))/$($item.Url)");
}
New-Object PSObject -Property $data | Select "List Name", "Item Name", "Version", "Created By", "Created Date", "Modified By", "Modified Date", "URL"
}
}
$web.Dispose();
}
$site.Dispose()
}
}
Get-DocInventory | Export-Csv -NoTypeInformation -Path C:\NewOutput.csv
У меня есть один последнее, что мне нужно сделать, и это, помимо вывода всех документов из всех библиотек, мне нужно добавить скрипт, чтобы вытащить все элементы из всех списков с одного и того же сайта http://contoso.com/sites/Deptss/HTG, как указано в приведенном выше скрипте. Может кто-нибудь, пожалуйста, скажите мне, как это сделать? Мне действительно нужна чья-то помощь в этом.
Примечание: Я знаю, что перебирать весь список я могу изменить строку ниже, первоначально итерацию библиотеки документов:
if ($list.BaseType -eq “DocumentLibrary”)
Для этого один ниже перебирать списки:
if ($list.BaseType -eq “GenericList”)
Я хочу перебирать библиотеки документов и списки. Как мне это сделать?