Промените корисничку лозинку у АД-у из ПоверСхелл-а

У овом ћемо чланку погледати како промијенити (ресетирати) лозинку једног или више корисника Ацтиве Дирецтори-а из наредбене линије ПоверСхелл помоћу цмдлет-а Сет-АДАццоунтПассворд.

Већина администратора се користи за промену (ресетовање) корисничких лозинки у АД-у путем графичког додатка дса.мсц (Ацтиве Дирецтори Усерс & Цомпутерс - АДУЦ). Да бисте то учинили, пронађите кориснички рачун у АД-у, кликните десним тастером миша на њега и изаберите „Ресет пассворд“. Ово је једноставан и јасан начин..

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

Садржај:

  • Како ресетовати корисничку лозинку у АД-у?
  • Промените лозинку више корисника у АД-у

Како ресетовати корисничку лозинку у АД-у?

Да бисте ресетовали корисничку лозинку у АД-у, користите цмдлет Сет-АДАццоунтПассворд, укључен у Ацтиве Дирецтори модул за Виндовс ПоверСхелл (у десктоп верзијама оперативног система Виндовс део је РСАТ-а, а у издањима сервера инсталиран је као засебна компонента АД ДС Снап-Инс и Алати наредбеног ретка). Пре употребе модула, морате га увести у ПоверСхелл сесију:

Увозни модул АцтивеДирецтори

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

Да бисте проверили да ли ваш налог има право да ресетује лозинку одређеног корисника, отворите његове особине, идите на картицу Сигурност -> Напредно -> Ефикасан приступ -> наведите име вашег налога -> проверите да ли имате дозволу за ресетовање лозинке..

Да бисте ресетовали лозинку за корисника помоћу дакимов налога и поставили нову лозинку СуперСтр0н @ п1, покрените наредбу:

Сет-АДАццоунтПассворд дакимов -Ресет -НевПассворд (ЦонвертТо-СецуреСтринг -АсПлаинТект "СуперСтр0н @ п1" -Форце -Вербосе) -ПассТхру

Да бисте аутоматски генерисали сложене лозинке за кориснике, можете користити методу ГенератеПассворд описану у чланку „Генерирање случајних лозинки помоћу ПоверСхелл-а“.

Подразумевано, цмдлет враћа објект и ништа не приказује у конзоли. За приказ информација о корисничком објекту у АД-у, користимо параметар -Пасстхру.

Као корисничко име можете навести сАМАццоунтНаме (као у нашем случају), објецтГУИД, СИД корисника или његов ДН (Различито име, на пример ЦН = Акимов, ОУ-Корисници, ДЦ = винитпро, ДЦ = ру).

Ако приликом промене корисничке лозинке не наведете параметар -Ресет, морате навести стару и нову лозинку налога.

Напомена. Ако дође до грешке приликом ресетирања лозинке помоћу цмдлета Сет-АДАццоунтПассворд:

Сет-АДАццоунтПассворд: Лозинка не испуњава дужину, сложеност или историју захтева домена.

То значи да се одређена захтевност, дужина итд. Захтеви дефинисани у политици лозинке домене или детаљној политици лозинке примењиви на налог односе на наведену лозинку..

Ако сте омогућили историју ПоверСхелл наредби и не желите да се лозинке прикажу у јасном тексту на ПоСх конзоли, морате претворити лозинку у сигурну линију баш као и приликом креирања корисника (више о заштити лозинке у ПоверСхелл скриптама овде):

$ НевПассвд = Прочитајте хост "Унесите нову корисничку лозинку" -АсСецуреСтринг

Сада ресетујте лозинку:

Сет-АДАццоунтПассворд дакимов -Ресет -НевПассворд $ НевПассвд -ПассТхру

Када ресетујете лозинку, можете применити закључавање академске евиденције чак и ако је закључана (о томе како да пронађете са ког рачунара је налог закључан, погледајте чланак Претраживање извора закључавања корисника у Ацтиве Дирецториу):

Унлоцк-АДАццоунт -Дентити дакимов

Да би корисник код следеће пријаве на домен променио ову лозинку у нову, покрените наредбу

Сет-АДУсер -Идентити дакимов -ПромениПассвордАтЛогон $ труе

Можете комбиновати наредбу за промену лозинке и захтев за променом лозинке (атрибут усерАццоунтЦонтрол) у једном реду:

Сет-АДАццоунтПассворд дакимов -НевПассворд $ НевПассвд -Ресет -ПассТхру | Сет-АДусер -ПромениПассвордАтЛогон $ Труе

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

Гет-АДУсер дакимов -Пропертиес * | одаберите име, пренесите *

Када се лозинка ресетује, догађај ЕвентИД 4724 пријављује се на контролер домена (ДЦ). Овај догађај помаже у препознавању налога који је извршио ресетовање корисничке лозинке..

Промените лозинку више корисника у АД-у

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

Најједноставнији случај је да морате ресетовати лозинке свих корисника са одређеним својствима налога. На пример, морате приморати све запослене у одељењу продаје да ресетују лозинку на исту и натерају је да се промене следећи пут када се пријаве:

гет-адусер -филтер "одељење -ек" Одељење продаје "-АНД омогућено -ек" Тачно "" | Сет-АДАццоунтПассворд -НевПассворд $ НевПассвд -Ресет -ПассТхру | Сет-АДусер -ПромениПассвордАтЛогон $ Труе

Размотримо још један случај. Претпоставимо да имате ЦСВ / Екцел датотеку која садржи списак корисника који морају да ресетују лозинке и јединствену лозинку за сваког корисника. Формат датотеке Усерс.цсв:

сАМАццоунтНаме; НевПассворд
аиванов; ПаССде0р1
бпетров; Нови $ исде01
ссидоров; к @ нндј! 223

Помоћу следеће скрипте ПоверСхелл можете да ресетујете лозинку за сваки налог у датотеци:

Импорт-Цсв усерс.цсв -Делимитер ";" | Фореацх
$ НевПасс = ЦонвертТо-СецуреСтринг -АсПлаинТект $ _. НевПассворд -Форце
Сет-АДАццоунтПассворд -Идентити $ _. САМАццоунтНаме -НевПассворд $ НевПасс -Ресет -ПассТхру | Сет-АДУсер -ПромениПассвордАтЛогон $ фалсе

Након извршавања овог кода, биће постављена нова јединствена лозинка за све кориснике у датотеци..