Próbuję uruchomić skrypt powershell że zapytania dla kont, które wygasają w ciągu 7 dni, obecnie mamPowerShell znaleźć użytkownicy wygasające w ciągu 7 dni
$a = (get-date).AddDays(7) ; Search-ADAccount -AccountExpiring -TimeSpan "7" | Select-Object SamAccountName,AccountExpirationDate | Sort-Object AccountExpirationDate | Export-Csv 7_days.csv
Jednak kiedy wprowadzić następujące zmiany, wydaje się, że pewne kłopoty i ostatecznie otrzymuję pusty plik CSV. Ostatecznie chcę, aby konto wygasało w ciągu 7 dni, nie więcej, nie mniej.
$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
Czy ktoś może mi powiedzieć, co robię źle? Próbowałem przenieść element "Where-Object {$ _. AccountExpirationDate-like $ a}", lub "-match" zamiast "like", jednak nie przyniosły mi one dużego sukcesu. Gdzie się z tym nie zgadzam?
Jest to najbliżej odpowiedź tak daleko, że nie dostał pożądany wynik jeszcze, ale dzięki twojej pomocy zbliżyłeś się: $ NeverExpires = 9223372036854775807; $ ExpringIn = (Get-Date) .AddDays (7); foreach ($ item in Get -AdUser -Filter * -Properties accountExpires | Where-Object {$ _. AccountExpires -ne $ NeverExpires -i [datetime] :: FromFileTime ([int64] :: Parse ($ _. AccountExpires)) -lt $ ExpringIn} | select-object SamAccountName, accountExpires) {Write-Host $ item.SamAccountName ([datetime] :: FromFileTime (($ item.accountExpires). "msDS-UserPasswordExpiryTimeComputed"))} – perlnoob
Witam, gdzie mogę uzyskać cmdlet "Get- ADUser "z? –
Jest to część modułu AD, który jest częścią RSAT (Remote Server Administration Tools). http://www.microsoft.com/en-us/download/details.aspx?id=7887 –