Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Смена флага в поле в AD у 1000+ пользователей (http://forum.oszone.net/showthread.php?t=293920)

mkochetkov 14-01-2015 19:58 2456107

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

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

Kazun 14-01-2015 22:40 2456166

-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 2456300

Спасибо за совет. Не работает.

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 2456362

Как я понял мне в скрипте надо из общего списка учеток отфильтровать встроенные учетные записи. Их у меня 3 штуки. Вот только как это сделать?

Kazun 15-01-2015 19:58 2456625

Get-ADUser -Filter {-not (isCriticalSystemObject -eq $true)}

mkochetkov 16-01-2015 11:46 2456932

Спасибо. На тестовой машине сработало. Сейчас сделаю бэкап и буду пробовать на боевой


Время: 21:11.

Время: 21:11.
© OSzone.net 2001-