Meilleur auteur de réponses
Script PS qui énumère les documents postés sur le SP

Question
-
Bonjour j'aurais besoin d'écrit un script powershell qui liste tout les documents posté sur le portail sharepoint.
pour l'instant j'en suis là pour savoir ce qui est posté sur la library operateur par exemple, mais je ne sais pas comment faire en suite :
Code :$site = "test"; $web = get-SPWeb "http://monsitelocale.fr/$site" $op = $web.getList("/$site/oprateur") $op......
Quelqu'un a une idée?
Merci
Réponses
-
je lance bien le script :
function Get-DocInventory() {
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
foreach ($spService in $farm.Services) {
if (!($spService -is [Microsoft.SharePoint.Administration.SPWebService])) {
continue;
}
foreach ($webApp in $spService.WebApplications) {
if ($webApp -is [Microsoft.SharePoint.Administration.SPAdministrationWebApplication]) { continue }
foreach ($site in $webApp.Sites) {
foreach ($web in $site.AllWebs) {
foreach ($list in $web.Lists) {
if ($list.BaseType -ne "DocumentLibrary") {
continue
}
foreach ($item in $list.Items) {
$data = @{
"Web Application" = $webApp.ToString()
"Site" = $site.Url
"Web" = $web.Url
"list" = $list.Title
"Item ID" = $item.ID
"Item URL" = $item.Url
"Item Title" = $item.Title
"Item Created" = $item["Created"]
"Item Modified" = $item["Modified"]
"File Size" = $item.File.Length/1KB
}
New-Object PSObject -Property $data
}
}
$web.Dispose();
}
$site.Dispose()
}
}
}
}
Get-DocInventory | Out-GridView
mais il ne renvoit rien
- Marqué comme réponse jeystyle mercredi 30 mars 2011 13:17
-
Toutes les réponses
-
Quelque chose comme ça?
http://blog.falchionconsulting.com/index.php/2010/08/getting-an-inventory-of-all-sharepoint-documents-using-windows-powershell/
Pascal P
http://sharepoint-afterwork.com
http://pascalp.dotnet-france.com/
Twitter: @PascalPoeck- Proposé comme réponse Pascal P mercredi 30 mars 2011 15:28
-
Bonjour, oui merci un truc comme ça justement.
Je viens de le tester et là j'ai le msg suivant :
Out-GridView : To use the Out-GridView cmdlet, install the Windows PowerShell I
ntegrated Scripting Environment feature from Server Manager. (Could not load fi
le or assembly 'Microsoft.PowerShell.GraphicalHost, Version=1.0.0.0, Culture=ne
utral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system
Donc ma question est la suivante, comment installer le powershell integrated Scripting environment feature à partir du server manager?
merci
-
je lance bien le script :
function Get-DocInventory() {
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
foreach ($spService in $farm.Services) {
if (!($spService -is [Microsoft.SharePoint.Administration.SPWebService])) {
continue;
}
foreach ($webApp in $spService.WebApplications) {
if ($webApp -is [Microsoft.SharePoint.Administration.SPAdministrationWebApplication]) { continue }
foreach ($site in $webApp.Sites) {
foreach ($web in $site.AllWebs) {
foreach ($list in $web.Lists) {
if ($list.BaseType -ne "DocumentLibrary") {
continue
}
foreach ($item in $list.Items) {
$data = @{
"Web Application" = $webApp.ToString()
"Site" = $site.Url
"Web" = $web.Url
"list" = $list.Title
"Item ID" = $item.ID
"Item URL" = $item.Url
"Item Title" = $item.Title
"Item Created" = $item["Created"]
"Item Modified" = $item["Modified"]
"File Size" = $item.File.Length/1KB
}
New-Object PSObject -Property $data
}
}
$web.Dispose();
}
$site.Dispose()
}
}
}
}
Get-DocInventory | Out-GridView
mais il ne renvoit rien
- Marqué comme réponse jeystyle mercredi 30 mars 2011 13:17
-
L'installation de la feature se fait au niveau de votre serveur Windows comme illustré dans le liens suivant : http://jigar-mehta.blogspot.com/2010/06/how-to-install-windows-powershell.html
Votre problème est-il résolu? Vous marquer votre post comme "Réponse" mais finissez par "mais il ne renvoit rien", ce qui est un peu contradictoire ;)
Pascal P
http://sharepoint-afterwork.com
http://pascalp.dotnet-france.com/
Twitter: @PascalPoeck -
-
Etrange, chez moi cela fonctionne parfaitement...
1) J'ai fait un copier/coller du script dans un document notepad
2) renommer le document en list.ps1
3) lancer le script en tapant la commande .\list.ps1 dans le "SharePoint Management Shell"
et voilà. Aucune modif sur le script et je retrouve bien tous les documents sur ma ferme SharePoint...
Avez-vous bien lancer le script à partir du "SharePoint Management Shell"???
Pascal P
http://sharepoint-afterwork.com
http://pascalp.dotnet-france.com/
Twitter: @PascalPoeck -