PDA

Показать полную графическую версию : [решено] Смена флага в поле в AD у 1000+ пользователей


mkochetkov
14-01-2015, 19:58
Всем привет!
В AD 1000+ пользователей.
Какой то шутник выставил время истечения учетной записи.
У всех пользователей она умрет приблизительно через месяц.
Надо бы изменить флаг на параметр - никогда, но увы пока не получилось ;(
В PowerShell Зафигачил:
get-aduser -filter * -ResultSetSize $null| Clear-ADAccountExpiration -whatif
На тестовой тачке все отработало ок!

Командлет отработал на боевом серваке по всем пользователям, но в mmc ничего не изменилось.
Сначала думал что база большая, не успела еще обновится, прождал несколько часов, все бестолку.
В чем может проблема?

Kazun
14-01-2015, 22:40
-whatif - Если указан у команды этот параметр, то будет выведено, какое действие должно выполниться на объекте, но атрибут изменен не будет. Поэтому стоит убрать данный параметр.

PS C:\Users\Administrator> Get-ADUser b -Properties accountexpires | Format-Table Name,accountexpires -AutoSize

Name accountexpires
---- --------------
b 130683312000000000

PS C:\Users\Administrator> Get-ADUser b | Clear-ADAccountExpiration -WhatIf
What if: Performing operation "Set" on Target "CN=b,OU=Z,DC=contoso,DC=com".
PS C:\Users\Administrator> Get-ADUser b -Properties accountexpires | Format-Table Name,accountexpires -AutoSize

Name accountexpires
---- --------------
b 130683312000000000

PS C:\Users\Administrator> Get-ADUser b | Clear-ADAccountExpiration
PS C:\Users\Administrator> Get-ADUser b -Properties accountexpires | Format-Table Name,accountexpires -AutoSize

Name accountexpires
---- --------------
b 9223372036854775807

mkochetkov
15-01-2015, 10:21
Спасибо за совет. Не работает.

Clear-ADAccountExpiration : Операция не предназначена для встроенных учетных записей
строка:1 знак:69
+ Get-ADUser -Filter * -ResultSetSize $null| Clear-ADAccountExpiration <<<<
+ CategoryInfo : NotSpecified: (CN=Администрато...DOMEN,DC=org:ADUser) [Clear-ADAccountExpiration], AD
Exception
+ FullyQualifiedErrorId : Операция не предназначена для встроенных учетных записей, Microsoft.ActiveDirectory.Manag
ement.Commands.ClearADAccountExpiration

А коммандлеты выше - это тоже самое? Можете описать их?

mkochetkov
15-01-2015, 12:58
Как я понял мне в скрипте надо из общего списка учеток отфильтровать встроенные учетные записи. Их у меня 3 штуки. Вот только как это сделать?

Kazun
15-01-2015, 19:58
Get-ADUser -Filter {-not (isCriticalSystemObject -eq $true)}

mkochetkov
16-01-2015, 11:46
Спасибо. На тестовой машине сработало. Сейчас сделаю бэкап и буду пробовать на боевой




© OSzone.net 2001-2012