Qual è la differenza?(I File controllati)
-
10-12-2019 - |
Domanda
Sono nel processo di scrittura di uno script PowerShell per lavorare con i file controllati e mi sono imbattuto su questo articolo: Trova tutti i file controllati
La mia domanda è qual è la differenza tra le due sezioni ...
foreach ($item in $list.CheckedOutFiles) {...
.
e
foreach ($item in $list.Items) {
if ($item.File.CheckOutStatus -ne "None") {...
.
A prima vista Sembra che $list.CheckedOutFiles
restituisca una raccolta di SPCheckedOutFile
dove il secondo ritorna SPListItems
...
In quale scenario sarebbe qualcosa di una parte del $list.CheckedOutFiles
e non far parte del secondo?
La mia ragione per chiedere è che preferirei solo usare gli Splistitem perché hanno le proprietà disponibili per me che sto cercando, ma voglio assicurarmi che non mi manchi qualcosa di cui ho bisogno ....
Soluzione
Lo script viene inizialmente da questo sito:
Sembra che il secondo loop sia fatto per catturare i file mancanti nella raccolta di "CheckdoutFiles". Può essere che ci sono file che non hanno mai fatto un check-in, il che significa che il "checkoutstatus" non è uguale a (-Ne) "nessuno". Questo può accadere se carichi i file programmaticamente o se i file sono stati caricati prima che sia stato abilitato il requisito del check-in e del check-out.
Vedi il testo originale: "Una cosa bella da segnalare di questo è che ti mostrerà anche i file che normalmente non riescono a vedere - cioè file che sono stati creati da altri utenti, ma non hanno mai fatto un check-in. Questo è davvero bello e io inciampato su questo quando cerchi di sintonizzare il mio cmdlet publish-splistitems. Vedi, se il file non è mai stato controllato in quell'istorità attraverso l'oggetto SpliwsItemCollection non rivelerà l'oggetto (o il file che dovrei dire); questo significava che il mio cmdlet, Come è stato scritto in precedenza, mancava un sacco di file. "