|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Проверка остатка дней до закрытия учетной записи |
|
PowerShell - Проверка остатка дней до закрытия учетной записи
|
Новый участник Сообщения: 4 |
всем привет! не могу сообразить, как вывести учетки, у которых AccountExpirationDate заканчивается через 3 дня. То есть, за 3 дня до закрытия уз должно быть уведомления. Не могу сообразить как сделать выборку
get-aduser -SearchBase "...." -filter * -properties AccountExpirationDate | where {($today - ($_.AccountExpirationDate)) -eq '3' } | select samaccountname где today - $today=Get-date как правильно это сформулировать для поша? |
|
Отправлено: 16:37, 13-03-2018 |
Старожил Сообщения: 280
|
Профиль | Отправить PM | Цитировать Наверное как то так.
$today= (Get-Date).AddDays(+3) get-aduser -filter * -properties AccountExpirationDate | Select-Object samaccountname, AccountExpirationDate | where {($_.AccountExpirationDate) -match $today.Date } Ну то есть если в свойствах пользователя поставили дату 13 марта, то AccountExpirationDate будет 14 марта, имейте это ввиду. Если надо предупреждать з атри дня, то надо делать так |
Отправлено: 17:13, 13-03-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Molchune:
тут получается, что он выбирает , где $_.AccountExpirationDate содержит сегодняшнюю дату +4 дня вперед? к примеру, есть testuser1 с датой 13 марта 2018 но скрипт его не выгружает напрмиер, where {($_.AccountExpirationDate -eq (Get-date).adddays(-3) ) } по идее бы должно работать, здесь дата истекания равно дата сегодня -3 дня. но оно сравнивает видимо еще по веремени. а время у дат закрытия 00,00 |
|
Последний раз редактировалось flamebornet, 13-03-2018 в 17:45. Отправлено: 17:31, 13-03-2018 | #3 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать о, все! ставил дату не верно хD
если кому еще интересно - вот еще вариант cls Get-Variable | Remove-Variable -Confirm:0 -ErrorAction SilentlyContinue $now = Get-Date $users = Get-ADUser -SearchBase "..." -filter {(name -like "*") -and (Enabled -eq $true)} -Properties AccountExpirationDate,Enabled $users | % { $AED = $_.AccountExpirationDate $diffD = $AED - $now $raz = $diffD.Days $SAM = $_.SamAccountName If ($raz -eq 3){ $SAM } } |
Отправлено: 08:52, 14-03-2018 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Привязывание доменной учетной записи к учетной записи Microsoft | SaintMichael | Microsoft Windows 10 | 4 | 15-08-2017 21:23 | |
Разное - Outlook 2016 не отправляет сообщения, хотя проверка учетной записи работает | Dmitriy_25.87 | Microsoft Windows 7 | 1 | 03-08-2017 03:36 | |
Загрузка - Windows грузится только до значка учетной записи... | foranysh | Microsoft Windows 2000/XP | 4 | 09-06-2010 09:44 | |
VBS/WSH/JS - [решено] проверка состояния учетной записи | hse2000 | Скриптовые языки администрирования Windows | 11 | 19-03-2009 11:40 | |
[решено] В чем отличия учетной записи Пользователь от учетной записи Опытный Пользователь??? | Ivan_PIV | Microsoft Windows 2000/XP | 3 | 22-03-2007 06:23 |
|