Срок действия учетной записи пользователя Powershell AD истекает - PullRequest
0 голосов
/ 02 апреля 2020

Я хотел бы вставить условие, чтобы проверить дату истечения срока действия учетной записи пользователя AD, как ее реализовать?

После выбора, если учетная запись пользователя AD получила значение, срок действия истекает на следующий день, а затем экспортировать файл csv.

В противном случае проигнорируйте его и сразу выйдите из программы.

Спасибо.


$Range = ((Get-Date).AddDays(1)).Date

Get-AdUser -Filter {AccountExpirationDate -eq $Range} –Properties AccountExpirationDate | Select-Object -Property SamAccountName, Name, AccountExpirationDate | 
Export-CSV -Path "C:\Temp\Upcoming Retired User\Report_$((Get-Date).ToString("yyyyMMdd")).txt" -NoTypeInformation

1 Ответ

2 голосов
/ 02 апреля 2020

Вы на самом деле не используете диапазон дат, но больше всего, когда вы используете -eq, вы проверяете, есть ли аккаунты, срок действия которых истекает завтра, ровно в полночь.

Я не знаю Я думаю, что это то, что вы хотите сделать, и вместо этого хотите знать, какие учетные записи должны истекать в или до отчетной даты.

Попробуйте

$refDate = (Get-Date).AddDays(1).Date  # tomorrow at midnight
# try to find expired accounts
$users = Get-AdUser -Filter "AccountExpirationDate -lt $refDate" –Properties AccountExpirationDate -ErrorAction SilentlyContinue
if ($users) {
    $fileOut = Join-Path -Path 'C:\Temp\Upcoming Retired User' -ChildPath ('Report_{0:yyyyMMdd}.csv' -f (Get-Date))
    $users | Select-Object -Property SamAccountName, Name, AccountExpirationDate | 
    Export-Csv -Path $fileOut -NoTypeInformation
}
else {
    Write-Host 'No expired accounts found'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...