Sto cercando di eseguire uno script PowerShell che interroga per gli account che scadono entro 7 giorni, ho attualmentePowerShell trovare utenti con scadenza 7 giorni
$a = (get-date).AddDays(7) ; Search-ADAccount -AccountExpiring -TimeSpan "7" | Select-Object SamAccountName,AccountExpirationDate | Sort-Object AccountExpirationDate | Export-Csv 7_days.csv
Tuttavia quando faccio la seguente modifica, sembra avere qualche problema e finisco per ottenere un file CSV vuoto. In definitiva voglio che il conto scada tra 7 giorni, non di più, non di meno.
$a = (get-date).AddDays(7) ; Search-ADAccount -AccountExpiring -TimeSpan "7" | Select-Object SamAccountName,AccountExpirationDate | Sort-Object AccountExpirationDate | Where-Object {$_.AccountExpirationDate -like $a } | Export-Csv 7_days.csv
Qualcuno può farmi sapere cosa sto facendo male? Ho provato a spostare il pezzo "Where-Object {$ _. AccountExpirationDate -like $ a}", o "-match" invece di "-like", tuttavia questi non mi hanno dato molto successo. Dove sto andando male con questo?
Questa è la risposta più vicina finora, non ho ottenuto il risultato desiderato ancora, ma grazie al tuo aiuto sono diventato più vicino: $ NeverExpires = 9223372036854775807; $ ExpringIn = (Get-Date) .AddDays (7); foreach ($ item in Get -ADUser -Filter * -Properties accountExpires | Where-Object {$ _. AccountExpires -ne $ NeverExpires -and [datetime] :: FromFileTime ([int64] :: Parse ($ _. AccountExpires)) -lt $ ExpringIn} | select-object SamAccountName, accountExpires) {Write-Host $ item.SamAccountName ([datetime] :: FromFileTime (($ item.accountExpires). "msDS-UserPasswordExpiryTimeComputed"))} – perlnoob
Ciao, dove posso ottenere il cmdlet "Get- ADUser "da? –
È una parte del modulo AD che fa parte di RSAT (Remote Server Administration Tools). http://www.microsoft.com/en-us/download/details.aspx?id=7887 –