Проблема с обновлением / изменением атрибута AD из powershell - PullRequest
1 голос
/ 07 января 2020

Я делаю сценарий powershell, который может обновить поле «Срок действия учетной записи» в AD на основе sAMAccoutname, но я столкнулся с некоторой проблемой в команде Set-ADUser powershell при попытке обновить поле «Срок действия учетной записи» в AD. Я протестировал несколько способов с различными комбинациями параметров команды, но ни одна из них не работала должным образом

1-я попытка

 Set-ADUser -Identity xxxx00242 -accountExpires 130618739743580353 

Получена ошибка

 Set-ADUser : A parameter cannot be found that matches parameter name 'accountExpires'.
    At line:1 char:31
    + Set-ADUser -Identity xxxx0242 -accountExpires 130618739743580353
    +                               ~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
        + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser


2-я попытка

Set-ADUser -identity xxxx0242 -Add @{accountExpires=" 130612691742815904"}


Получена ошибка

Set-ADUser : The parameter is incorrect
At line:1 char:1
+ Set-ADUser -identity xxxx0242 -Add @{accountExpires=" 130612691742815 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (xxxx0242:ADUser) [Set-ADUser], ADInvalidOperationException
    + FullyQualifiedErrorId : ActiveDirectoryServer:87,Microsoft.ActiveDirectory.Management.Commands.SetADUser


3-я попытка

 Set-ADUser -identity xxxx0242 -Add @{AccountExpirationDate=" 130612691742815904"}


Получено сообщение об ошибке

Set-ADUser : The specified directory service attribute or value does not exist
Parameter name: AccountExpirationDate
At line:1 char:1
+ Set-ADUser -identity xxxx0242 -Add @{AccountExpirationDate=" 13061269 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (xxxx0242:ADUser) [Set-ADUser], ArgumentException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Comm
   ands.SetADUser


моя версия powershell 5.1.14393.206 или Set-ADUser не может обновить поле «Срок действия учетной записи» в AD? Это ссылка

1 Ответ

0 голосов
/ 07 января 2020

Вам необходимо ввести действительное время и дату.

Например, если вы хотите, чтобы срок действия учетной записи истек через 1 месяц.

$date = Get-Date
$dateExpiry = $date.AddMonths(1)
Set-ADUser xxxx0242 -AccountExpirationDate $dateExpiry

Обратите внимание, что возвращаемое значение int64 можно легко преобразовать в пригодную для использования дату и, например, добавить 6 месяцев. к нему:

$currentExpiry = (Get-ADUser xxxx0242 -Properties AccountExpires).accountExpires
[datetime]$expireDate = $currentExpiry
$newExpireDate = $expireDate.AddMonths(6)
Set-ADUser xxxx0242 -AccountExpirationDate $newExpireDate

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...