Come posso interrogare tutti gli elementi che si trovano all'interno di una cartella, che è a sua volta all'interno di una libreria di documenti?
-
22-10-2019 - |
Domanda
Sto cercando di utilizzare PowerShell per interrogare il mio sito Sharepoint in modo da poter ottenere un elenco di elementi da utilizzare come input nel mio script di migrazione. Ho una libreria di documenti (risorse del sito), che dispone di una cartella (Calendario Pagine) in esso con un gruppo di pagine aspx. Mi piacerebbe migrare queste pagine per un altro sito.
Utilizzando Powershell, posso ottenere un riferimento alla libreria di risorse del sito con: $web.Lists["Site Assets"]
. Io non riesco a ottenere un riferimento a qualsiasi oggetto oltre questo, però. Ho provato $web.Lists["Site Assets"].Lists["Calendar Pages"]
e $web.Lists["Site Assets"].Folders["Calendar Pages"]
.
Soluzione
Nessun sovraccarico della collezione SPList.Folders
prende una stringa.
$web.Lists["Site Assets"].RootFolder.SubFolders["Calendar Pages"]
prova.
Altri suggerimenti
Prova questo:
$web.Lists["Site Assets"].Folders | where { $_.Name -eq "Calendar Pages" }
$web.Lists["Site Assets"].Lists["Calendar Pages"]
non funziona perché "Pagine del calendario" non è una lista, è una cartella.
$web.Lists["Site Assets"].Folders["Calendar Pages"]
non funziona perché $web.Lists["Site Assets"].Folders
è di tipo SPListItemCollection che non ti permette di indicizzare per nome (solo con indice e guid)