2015-10-20 3 views
1

У меня есть сценарий PowerShell, который выводит в файл CSV все элементы из всех списков и все файлы из всех библиотек документов в месте, указанном ниже:Элемент списка Имя не заселение - PowerShell

function Get-DocInventory([string]$siteUrl) { 
$web = Get-SPWeb "http://contoso.com/sites/Depts/HTG" 
foreach ($list in $web.Lists) { 

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(); 
} 
} 


Get-DocInventory | Export-Csv -NoTypeInformation -Path C:\NewOutput.csv 

Ниже приведен пример что выводит этот скрипт:

Sample Output of Script

в выводе, показанном на «Пример вывода сценария», дуговых Items, архивной материал, и лодки имена списков. С другой стороны, Content Affiliate и Cross References - это имена библиотек документов. Моя проблема заключается в том, что скрипт выводит только имена элементов из библиотек документов, а не списки. Какую строку следует добавить для вывода имен элементов из списков? Другими словами, как я могу отображать имена элементов, содержащихся в списке? Может ли кто-нибудь помочь?

ответ

1

Я понял. Изменение этой строки:

"Item Name" = $item.File.Name 

To:

"Item Name" = $item.Name 

ли трюк.

Смежные вопросы