PowerShell Добавьте 1 день к атрибуту AccountExpire пользователя AD - PullRequest
2 голосов
/ 10 февраля 2012

Как говорится в теме. Как можно добавить 1 дополнительный день для выбранной учетной записи пользователя.

Я знаю, что AD идет по Windows File Time. Кто-нибудь знает самый простой и наименее написанный код метод?

Ответы [ 3 ]

5 голосов
/ 10 февраля 2012

Вы можете изменить свойство accountExpires пользователя AD через Set-ADUser командлет , включенный в Windows Server 2008 R2 :

Import-Module activedirectory

$expireDate = (Get-ADUser -Identity "John Appleseed" -Properties accountExpires).accountExpires
$renewedExpireDate = ([System.DateTime]::FromFileTime($expireDate)).AddDays(1)

Set-ADUser -Identity "John Appleseed" -AccountExpirationDate $renewedExpireDate

Как вы сказали, значение свойства accountExpires представляется как время файла Windows , которое представляет собой 64-разрядное целое число. В этом примере мы конвертируем его в DateTime , чтобы легко изменить его, а затем передаем его параметру -AccountExpirationDate для обновления пользователя.

1 голос
/ 08 марта 2016

Это также можно сделать в многодоменной среде, добавив ключ -server и передав строку домена (т. Е. «Domain.corp.root»).Мне также пришлось переместить .accountExpires, так как он был не в том месте в этом примере кода.Спасибо за предоставление, это было именно то, что мне было нужно.

Import-Module ActiveDirectory

$expireDate = (Get-ADUser -Identity "samaccountname" -Properties accountExpires -server "domain.corp.root")

$renewedExpireDate = ([System.DateTime]::FromFileTime($expireDate.accountExpires)).AddDays(1)

Set-ADUser -Identity "samaccountname" -AccountExpirationDate $renewedExpireDate -server "domain.corp.root"
1 голос
/ 10 февраля 2012

Использование Quest AD module :

Set-qaduser <username> -AccountExpires ( [datetime]( get-qaduser <username> -IncludeAllProperties ).AccountExpires ).AddDays(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...