Tôi cố gắng để chạy một kịch bản PowerShell mà truy vấn cho các tài khoản đó hết hiệu lực trong vòng 7 ngày, Tôi hiện đang cóPowershell tìm người sử dụng hết hạn trong 7 ngày
$a = (get-date).AddDays(7) ; Search-ADAccount -AccountExpiring -TimeSpan "7" | Select-Object SamAccountName,AccountExpirationDate | Sort-Object AccountExpirationDate | Export-Csv 7_days.csv
Tuy nhiên khi tôi thực hiện thay đổi sau đây, nó dường như có một số rắc rối và tôi sẽ nhận được một tệp CSV trống. Cuối cùng tôi muốn tài khoản hết hạn sau 7 ngày, không nhiều hơn, không ít hơn.
$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
Ai đó có thể cho tôi biết tôi đang làm gì sai không? Tôi đã cố gắng di chuyển "Where-Object {$ _. AccountExpirationDate-like $ a}" mảnh xung quanh, hoặc "-match" thay vì "-like", tuy nhiên những havn't landed tôi nhiều thành công. Tôi đang đi sai với điều này?
Đây là câu trả lời gần nhất cho đến nay, tôi đã không nhận các kết quả mong muốn, nhưng nhờ sự giúp đỡ của bạn đã nhận được gần hơn: $ NeverExpires = 9223372036854775807; $ ExpringIn = (Get-Date) .AddDays (7); foreach ($ item in Get -ADUser -Filter * Tài khoản -PropertiesExpires | Đối tượng {$ _. AccountExpires -ne $ NeverExpires-và [datetime] :: FromFileTime ([int64] :: Parse ($ _. AccountExpires)) -lt $ ExpringIn} | chọn đối tượng SamAccountName, accountExpires) {Write-Host $ item.SamAccountName ([datetime] :: FromFileTime (($ item.accountExpires). "msDS-UserPasswordExpiryTimeComputed"))} – perlnoob
Xin chào, tôi có thể lấy lệnh ở đâu "Get- ADUser "từ? –
Đây là một phần của mô-đun AD là một phần của RSAT (Công cụ quản trị máy chủ từ xa). http://www.microsoft.com/en-us/download/details.aspx?id=7887 –