Я пытаюсь понять, как создать сценарий, который будет искать в AD и устанавливать дату истечения срока действия пользователей на основе даты их создания, например, пользователь, созданный 01.01.2018, истекает 01.01.2019.

Get-ADUser -Filter * -SearchBase $ OuDomain | Set-ADAccountExpiration -DateTime # это та часть, где я не могу определить объект select Created + 365

Обновление - я добился этого, экспортировав пользователей по их имени пользователя и дате создания в csv, а затем обработал это с помощью cel + 365, чтобы создать отметку времени 1 год. Импортировал этот CSV через PS, затем применил приведенный ниже сценарий, чтобы применить дату истечения срока действия к перечисленным пользователям.

Foreach ($ Users в $ Users) {Set-ADUser $ Users.Username -AccountExpirationDate $ Users.Expires}

0
POD 14 Сен 2018 в 13:56

2 ответа

Лучший ответ

Спасибо. Мне удалось получить ниже сегодня днем -

PS C: \ Users \ Administrator> $ Exp = Get-ADUser -Filter * -SearchBase $ OU -Properties * | Выберите созданный PS C: \ Users \ Administrator> $ exp | Флорида

Создано: 31/08/2018 10:01:58

Создано: 09.04.2018 10:22:12

PS C: \ Users \ Administrator> Get-ADUser -Filter * -SearchBase $ OU | Set-ADAccountExpiration -DateTime $ Exp Set-ADAccountExpiration: невозможно преобразовать 'System.Object []' в тип 'System.Nullable`1 [System.DateTime]', требуемый параметром 'DateTime'. Указанный метод не поддерживается. В строке: 1 символ: 74 + Get-ADUser -Filter * -SearchBase $ OU | Set-ADAccountExpiration -DateTime $ Exp + ~~~~ + CategoryInfo: InvalidArgument: (:) [Set-ADAccountExpiration], ParameterBindingException + FullyQualifiedErrorId: CannotConvertArgument, Microsoft.ActiveDirectory.Management.Commands.SetADAccountExpira

0
POD 14 Сен 2018 в 15:26

Вам нужно будет установить переменную для атрибута AD, на который вы хотите ссылаться, а затем вызвать ее в «выражении if».

$getexpiration = Get-ADUser -Filter * -SearchBase $OuDomain -Properties AccountExpires | select-object accountexpires

Это должно быть нацелено на нужное вам поле в AD, но отсюда вам нужно написать оператор if, чтобы обновить его в AD.

0
Joseph Martocchio 14 Сен 2018 в 15:10