2015-10-20 3 views
1

J'ai un script PowerShell qui génère un fichier CSV tous les éléments de toutes les listes et tous les fichiers de toutes les bibliothèques de documents dans un site indiqué ci-dessous:Liste Nom Article non peuplant - 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 

est Ci-dessous un échantillon de ce que cette commande affiche script:

Sample Output of Script

dans la sortie indiqué dans « Exemple de sortie de script », Articles Arc, Archivé Stuff et bateaux sont les noms des listes. D'un autre côté, Content Affiliate et Cross References sont les noms des bibliothèques de documents. Mon problème est que le script ne sort que les noms d'éléments des bibliothèques de documents et non les listes. Quelle ligne devrais-je ajouter pour afficher les noms d'éléments des listes? En d'autres termes, comment puis-je afficher les noms des éléments contenus dans une liste? Quelqu'un peut-il aider s'il vous plaît?

Répondre

1

Je l'ai compris. La modification de cette ligne:

"Item Name" = $item.File.Name 

Pour:

"Item Name" = $item.Name 

le tour est joué.