PS H:\> Invoke-Command -computername SERVERNAME { Get-ChildItem -path E:\dfsroots\datastore2\public} | Where-Object {{ $_.e
xtension-match "xls" -or $_.extension-match "xlk" } -and { $_.creationtime -ge "06/01/2014"}}
Sopra è il mio esempio di codice. Sto tentando di eseguire in remoto questo codice PowerShell sul mio file server e farlo restituire tutti i file .xls e .xlk con una data di creazione entro il 6/1/2014. Quando eseguo questo codice, inizia a sputare tutte le cartelle in quella posizione remota. Se confronto solo due cose in questo modo:Multiple -and -o in PowerShell istruzione Where-Object
PS H:\> Invoke-Command -computername SERVERNAME { Get-ChildItem -path E:\dfsroots\datastore2\public} | Where-Object { $_.extension-match "xls" -and $_.creationtime -ge "06/01/2014"}
solo i file xls creati a partire da tale visualizzazione della data. Cosa sta succedendo qui? Devo utilizzare qualcosa di diverso dalle dichiarazioni nidificate -and
e -or
?
Si noti che suddividere il comando in più istruzioni "where" non ha funzionato neanche. Vorrei inserire un comando come: PS H: \> Invoke-Command -computername SERVERNAME {Get-ChildItem -path E: \ dfsroots \ datastore2 \ public} | Where-Object {$ _. Ex tension-match "xls" -o $ _. Extension-match "xlk"} | where-object {$ _. creationtime -ge "06/01/2014"} E inizia a sputare file xlsx che non è quello che voglio. –
Usa parentesi non parentesi graffe per racchiudere le opzioni, quindi 'Dove {($ _. Extension -Match" xls "-o $ _. Extension -Match" xlk ") -e $ _. CreationTime -ge" 06/01/2014 "}' – TheMadTechnician
@ TheMadTechnician se puoi aiutarmi solo un minuto non riesco a capire quale sia la formattazione mini-Markdown e cosa no. Come lo hai racchiuso in un blocco "codice"? –