Comment puis-je interroger tous les éléments qui sont à l'intérieur d'un dossier, ce qui est à son tour dans une bibliothèque de documents?
-
22-10-2019 - |
Question
Je suis en train d'utiliser Powershell pour interroger mon site Sharepoint pour que je puisse obtenir une liste des éléments à utiliser comme entrée dans mon script de migration. J'ai une bibliothèque de documents (actifs du site), qui a un dossier (Calendrier Pages) dans avec un tas de pages .aspx. Je voudrais migrer ces pages vers un autre site.
En utilisant Powershell, je peux obtenir une référence à la bibliothèque des actifs du site avec: $web.Lists["Site Assets"]
. Je ne peux pas sembler obtenir une référence à des objets plus loin que cela, cependant. J'ai essayé $web.Lists["Site Assets"].Lists["Calendar Pages"]
et $web.Lists["Site Assets"].Folders["Calendar Pages"]
.
La solution
Aucune surcharge de la collection SPList.Folders
prend une chaîne.
Essayez $web.Lists["Site Assets"].RootFolder.SubFolders["Calendar Pages"]
.
Autres conseils
Essayez ceci:
$web.Lists["Site Assets"].Folders | where { $_.Name -eq "Calendar Pages" }
$web.Lists["Site Assets"].Lists["Calendar Pages"]
ne fonctionne pas parce que « Pages de calendrier » est pas une liste, il est un dossier.
$web.Lists["Site Assets"].Folders["Calendar Pages"]
ne fonctionne pas parce que $web.Lists["Site Assets"].Folders
est de type SPListItemCollection qui ne vous permet pas d'index par nom (uniquement par index et guid)