Дешифрирање вриједности атрибута усерАццоунтЦонтрол у Ацтиве Дирецториу

УсерАццоунтЦонтрол је један од важних атрибута корисничких налога и рачунара Ацтиве Дирецтори. Овај атрибут одређује статус налога у домену: да ли је налог активан или закључан, да ли је омогућена опција промене лозинке приликом следеће пријаве, да ли корисник може да промени лозинку итд.). Међутим, немају сви администратори јасну представу о томе како се користи атрибут УсерАццоунтЦонтрол и зашто се користи у АД..

На пример, отворите својства било ког АД рачуна у АДУЦ конзоли и идите на картицу Рачун (Рачун). Запамтите групу корисничких атрибута у одељку Контрола рачуна (Подешавања налога). Следеће опције налога су доступне овде:

  • Корисник мора променити лозинку приликом следеће пријаве (Захтевати промену лозинке код следеће пријаве);
  • Корисник не може променити лозинку;
  • Лозинка никада не истиче (лозинка није ограничена);
  • Чувајте лозинку користећи реверзибилну енкрипцију (несигурна енкрипција) - несигурно;
  • Налог је онемогућен
  • Паметна картица је потребна за интерактивно пријављивање (паметна картица је потребна за интерактивно пријављивање у мрежу);
  • Рачун је осетљив и не може бити делегиран (Рачун је важан и не може бити делегиран);
  • Користите Керберос ДЕС шифровање за овај налог (Користите само типове шифровања Керберос ДЕС за овај налог);
  • Овај налог подржава Керберос АЕС 128/256 битну енкрипцију (Овај налог подржава 128/256-битну Керберос АЕС енкрипцију);
  • Не захтевајте Керберос преутентификацију (без претходне Керберос аутентификације).

Сваки од ових атрибута рачуна у основи је битна вредност која може бити у стању 1 (тачно) или 0 (лажно). Међутим, ове вредности се не чувају као засебни атрибути АД, уместо тога се користи атрибут УсерАццоунтЦонтрол.

Садржај:

  • УсерАццоунтЦонтрол - Атрибут Ацтиве Дирецтори
  • Скрипта ПоверСхелл за дешифровање вредности УсерАццоунтЦонтрол

УсерАццоунтЦонтрол - Атрибут Ацтиве Дирецтори

Укупна вредност свих ових опција се чува у вредности атрибута рачуна УсерАццоунтЦонтрол, тј. уместо тога, један атрибут Ацтиве Дирецтори користи се за чување свих ових опција у различитим атрибутима. Атрибут УсерАццоунтЦонтрол је битна маска, сваки бит је засебна застава која приказује вредност једне од наведених опција и може имати различиту вредност (укључено или искључено). Према томе, у зависности од омогућених опција налога, корисник ће добити другачију вредност за атрибут УсерАццоунтЦонтрол. Можете да видите тренутну вредност атрибута на картици Аттрибуте Едитор или користећи следећи цмдлет ПоверСхелл Гет-АДУсер:

гет-адусер усер1 -пропертиес * | одаберите име, УсерАццоунтЦонтрол | фт

У овом примеру вредност атрибута 0к10202 (у децималном запису 66050) Шта ови бројеви значе??

Испод је табела доступних застава рачуна на АД-у. Свака од застава одговара специфичном биту атрибута УсерАццоунтЦонтрол, а вредност УсерАццоунтЦонтрол једнака је збиру свих застава.

ЗаставаВредност у ХЕКС-у Децимална вредност
СЦРИПТ (Рун Логон Сцрипт)0к00011
РАЧУНОВОДСТВО (рачун је онемогућен)0к00022
ХОМЕДИР_РЕКУИРЕД (потребна је почетна мапа)0к00088
ЛОЦКОУТ (налог је закључан)0к001016
ПАССВД_НОТРЕКД (није потребна лозинка)0к002032
ПАССВД_ЦАНТ_ЦХАНГЕ (Забрани промену корисничке лозинке)0к004064
ЕНЦРИПТЕД_ТЕКСТ_ПВД_АЛЛОВЕД (Снимите лозинку користећи реверзибилно шифровање)0к0080128
ТЕМП_ДУПЛИЦАТЕ_АЦЦОУНТ (кориснички налог чији је главни налог сачуван на другом домену)0к0100256
НОРМАЛ_АЦЦОУНТ (подразумевани налог. Нормални активни налог)0к0200512
ИНТЕРДОМАИН_ТРУСТ_АЦЦОУНТ0к08002048
ВОРКСТАТИОН_ТРУСТ_АЦЦОУНТ0к10004096
СЕРВЕР_ТРУСТ_АЦЦОУНТ0к20008192
ДОНТ_ЕКСПИРЕ_ПАССВОРД (Лозинка није истекла)0к1000065536
МНС_ЛОГОН_АЦЦОУНТ0к20000131072
СМАРТЦАРД_РЕКУИРЕД (Паметна картица потребна за интерактивни приступ мрежи)0к40000262144
ТРУСТЕД_ФОР_ДЕЛЕГАТИОН0к80000524288
НОТ_ДЕЛЕГАТЕД0к1000001048576
УСЕ_ДЕС_КЕИ_ОНЛИ0к2000002097152
ДОНТ_РЕК_ПРЕАУТХ (Није потребна Керберос аутентификација)0к4000004,194,304
ПАССВОРД_ЕКСПИРЕД (Корисничка лозинка је истекла)0к8000008388608
ТРУСТЕД_ТО_АУТХ_ФОР_ДЕЛЕГАТИОН0к100000016777216
ПАРТИАЛ_СЕЦРЕТС_АЦЦОУНТ0к0400000067108864

На пример, постоји редован налог за који је услов за промену лозинке онемогућен. Вредност усерАццоунтЦонтрол добија се на следећи начин

НОРМАЛ_АЦЦОУНТ (512) + ДОНТ_ЕКСПИРЕ_ПАССВОРД (65536) = 66048

Према томе, вредност усерАццоунтЦонтрол из мог примера (66050) показала се на следећи начин:

НОРМАЛ_АЦЦОУНТ (512) + ДОНТ_ЕКСПИРЕ_ПАССВОРД (65536) + АЦЦОУНТДИСАБЛЕ (2) = 66050

За нормално закључан налог вредност усерАццоунтЦонтрол биће 514:

(НОРМАЛ_АЦЦОУНТ (512) + РАЧУНОВОДСТВЕНО (2) = 514)

Подразумеване вредности УсерАццоунтЦонтрол за типичне објекте домена:

  • Стандардни корисник: 0к200 (512)
  • Контролор домена: 0к82000 (532480)
  • Радна станица / сервер: 0к1000 (4096)

Помоћу филтера можете бирати између АД објеката са одређеном вредношћу атрибута усераццоунтцонтрол. На пример, за приказ свих активних (уобичајених налога):

Гет-АДУсер -Пропертиес * -лдапФилтер "(усераццоунтцонтрол = 512)"

Листа свих блокираних налога:

Гет-АДУсер -Пропертиес * -лдапФилтер "(усераццоунтцонтрол = 514)"

Списак налога са неограниченом лозинком:

Гет-АДУсер -Пропертиес * -лдапФилтер "(усераццоунтцонтрол = 66048)"

Можете додати потребне битове из табеле и одабрати АД објекте помоћу следећих команди:

$ УсерАццоунтЦонтрол_хек = 0к10000 + 0к0080 + 0к200000
Гет-АДУсер -Филтер УсерАццоунтЦонтрол -банд $ УсерАццоунтЦонтрол_хек

Скрипта ПоверСхелл за дешифровање вредности УсерАццоунтЦонтрол

Ради практичности, желите да имате при руци алат који би аутоматски претворио вредност УсерАццоунтЦонтрол битмаске у нормалан људски облик. Покушајмо написати једноставну функцију за скрипте ПоверСхелл која узима децималну вредност атрибута УсерАццоунтЦонтрол и приказује листу укључених рачуноводствених опција. Јер Атрибут УсерАццоунтЦонтрол је битна маска, можете доделити текстуални опис сваком биту.

Добио сам такав ПоверСхелл скрипта да претворим вредност УсерАццоунтЦонтрол у читљив облик:

Функција ЦонвертУсерАццоунтЦонтрол ([инт] $ УАЦ)

$ УАЦПропертиФлагс = @ (
СЦРИПТ,
"РАЧУНОВОДСТВЕНО",
"РЕЗЕРВИРАН",
"ХОМЕДИР_РЕКУИРЕД",
"ЛОЦКОУТ",
"ПАССВД_НОТРЕКД",
"ПАССВД_ЦАНТ_ЦХАНГЕ",
"ЕНЦРИПТЕД_ТЕКСТ_ПВД_АЛЛОВЕД",
„ТЕМП_ДУПЛИЦАТЕ_АЦЦОУНТ“,
"НОРМАЛ_АЦЦОУНТ",
"РЕЗЕРВИРАН",
„ИНТЕРДОМАИН_ТРУСТ_АЦЦОУНТ“,
„ВОРКСТАТИОН_ТРУСТ_АЦЦОУНТ“,
„СЕРВЕР_ТРУСТ_АЦЦОУНТ“,
"РЕЗЕРВИРАН",
"РЕЗЕРВИРАН",
„ДОНТ_ЕКСПИРЕ_ПАССВОРД“,
„МНС_ЛОГОН_АЦЦОУНТ“,
„СМАРТЦАРД_РЕКУИРЕД“,
"ТРУСТЕД_ФОР_ДЕЛЕГАТИОН",
„НОТ_ДЕЛЕГАТЕД“,
"УСЕ_ДЕС_КЕИ_ОНЛИ",
"ДОНТ_РЕК_ПРЕАУТХ",
"ПАССВОРД_ЕКСПИРЕД",
"ТРУСТЕД_ТО_АУТХ_ФОР_ДЕЛЕГАТИОН",
"РЕЗЕРВИРАН",
ПАРТИАЛ_СЕЦРЕТС_АЦЦОУНТ
"РЕЗЕРВИРАН"
"РЕЗЕРВИРАН"
"РЕЗЕРВИРАН"
"РЕЗЕРВИРАН"
"РЕЗЕРВИРАН"
)

$ Аттрибутес = ""
1 ... ($ УАЦПропертиФлагс.Ленгтх) | Вхере-Објецт $ УАЦ -бАнд [матх] :: Пов (2, $ _) | ФорЕацх-Објецт Иф ($ Аттрибутес.Ленгтх -ЕК 0) $ Аттрибутес = $ УАЦПропертиФлагс [$ _] Остало $ Аттрибутес = $ Аттрибутес + "|" + $ УАЦПропертиФлагс [$ _]
Врати $ Атрибуте

Проверите која је вредност УсерАццоунтЦонтрол 66050:

ЦонвертУсерАццоунтЦонтрол 66050

Као што видите, скрипта је вратила да корисник има омогућене атрибуте:

АЦЦОУНТДИСАБЛЕ + НОРМАЛ_АЦЦОУНТ + ДОНТ_ЕКСПИРЕ_ПАССВОРД

Иста скрипта може се користити за дешифрирање вриједности УсерАццоунтЦонтрол у покрету, приликом преузимања података о њиховим АД вјеродајницама у прикладном облику помоћу цмдлета Гет-АдУсер или Гет-АдЦомпутер, на примјер:

гет-адусер сам-прнт -пропертиес * | одаберите @ н = 'УсрАцЦтрл'; е = ЦонвертУсерАццоунтЦонтрол ($ _. усерАццоунтЦонтрол)

РАЧУНОВОДСТВЕНО | НОРМАЛ_АЦЦОУНТ | ДОНТ_ЕКСПИРЕ_ПАССВОРД

гет-адцомпутер сам-дц01 -пропертиес * | одаберите @ н = 'УсрАцЦтрл'; е = ЦонвертУсерАццоунтЦонтрол ($ _. усерАццоунтЦонтрол)

СЕРВЕР_ТРУСТ_АЦЦОУНТ | ТРУСТЕД_ФОР_ДЕЛЕГАТИОН