a Directory Services Restore Mode (DSRM) jelszó először egy új tartományvezérlő népszerűsítésekor kerül beállításra. Sok olyan Active Directory környezettel találkoztam, ahol a tartományvezérlők DSRM jelszava nem ismert, vagy szükség esetén biztonságosan tárolható visszakeresésre.
a tartományvezérlők nem rendelkeznek olyan helyi rendszergazdai fiókkal, amely bármikor helyben bejelentkezhet, mint a munkaállomásokon vagy a kiszolgálókon. Ha Active Directory-hiba van a tartományvezérlőn, előfordulhat, hogy nem tud bejelentkezni a kiszolgálóra a tartomány hitelesítő adataival az Active Directory javításához.
a Directory Services Restore Mode (DSRM) egy tartományvezérlő rendszerindítási lehetősége, amely lehetővé teszi a kiszolgálóra való bejelentkezést akkor is, ha az Active Directory sikertelen. Olyan fiókot fog használni, amely hasonló a munkaállomás vagy szerver helyi rendszergazdai fiókjához. A DSRM-ben történő indítás után jelentkezzen be a tartományvezérlőre, írja be .\ adminisztrátor, mint a felhasználónév a DSRM jelszóval, amint az az alábbi képeken látható. Ez helyben naplózza Önt, anélkül, hogy bármilyen tartományi erőforráshoz hozzáférne.
a DSRM jelszó egyedi minden tartományvezérlő így van, hogy menjen át a DSRM jelszó visszaállítási folyamat minden tartományvezérlő a környezetben. A DSRM jelszó nem állítható vissza, ha a tartományvezérlő elindul a DSRM-ben.
most végigvezetem a DSRM jelszó visszaállításának lépéseit.
NTDSUTIL
az NTDSUTIL parancs a DSRM jelszó visszaállítására szolgál. Ez a segédprogram a parancssorból használható, és a Windows PowerShell-ben is működik.
a parancssorban vagy a Windows PowerShellben követendő lépések a következők:
- ntdsutil
- állítsa be a dsrm jelszót
ekkor megjelenik a “DSRM rendszergazdai jelszó visszaállítása” üzenet.
ebben a prompt van egy választás a két paraméter befejezni a DSRM Jelszó visszaállítása:
- Jelszó visszaállítása A (Z) %s kiszolgálón
- szinkronizálás a (z) %s tartományfiókból
ezen paraméterek mindegyikével elvégzem a lépéseket, hogy bemutassam a köztük lévő különbségeket.
Jelszó visszaállítása A (Z) %s kiszolgálón
megadható egy távoli tartományvezérlő neve, ami azt jelenti, hogy ez bármely olyan eszközről elvégezhető, amelyen telepítve vannak az Active Directory Services eszközök. %s a kiszolgáló nevének helyőrzője. Ez a helyi kiszolgáló esetében is elvégezhető, ha bejelentkezik egy tartományvezérlőre. Íme néhány példa:
távoli szerver: Jelszó visszaállítása a kiszolgálón dcs001p01
helyi kiszolgáló: Jelszó visszaállítása a kiszolgálón null
írja be az új DSRM jelszót, majd ismételje meg az új jelszó megerősítését, miután megadta a Jelszó visszaállítása A (Z) %s kiszolgálón.
a lépések egyetlen sorban is beírhatók, kivéve a jelszót, amelyet még meg kell adni az utasításokban.
ntdsutil “DSRM Jelszó beállítása “”Jelszó visszaállítása a dcs001p01 kiszolgálón “” q “”q”
Sync from domain account %s
alternatív lehetőség a sync from domain account %s paraméter használata. a (z) %s egy tartomány felhasználói fiókjának helyőrzője. Ahelyett, hogy a folyamat során megadná a DSRM jelszót, szinkronizálja a helyi tartományvezérlő új DSRM jelszavát a megadott tartomány felhasználói fiókjának jelszavával.
ez egy egyszeri jelszó-szinkronizálás a visszaállítás végrehajtásakor a jelszó nincs szinkronban a felhasználói fiókkal. A DSRM jelszó nem változik, amikor visszaállítja a felhasználói fiók jelszavát. A DSRM jelszó csak akkor változik meg, ha befejezte a DSRM jelszó-visszaállítási eljárást.
létrehoztam egy svc-dc nevű fiókot a domainemben, beállítottam egy összetett jelszót (amelyet használni akarok a DSRM jelszavamhoz), valamint letiltottam a fiókot. A fiók nem tagja más csoportoknak, mint az alapértelmezett “Tartományfelhasználók”. A fiók nem használható semmilyen más feladathoz, amelyet a DSRM jelszó beállításához használnak egy tartományvezérlőn.
ezt helyben kell kitölteni a céltartomány-vezérlőn. Ez a paraméter csak a DSRM jelszót állítja vissza a helyi kiszolgálón, nem adhat meg másik tartományvezérlőt. Hibaüzenetet fog kapni, ha a parancsot nem hajtják végre egy tartományvezérlőn, az alábbi példa szerint:
a reset parancsot egyetlen sorral is meg lehet adni:
ntdsutil “set DSRM jelszó “”Sync from domain account svc-dc “” q “”q”
a parancs tartományvezérlőn történő futtatása további utasítások nélkül sikeresen befejeződik. A DSRM jelszó most a tartomány felhasználói fiókjában konfigurált jelszóra van állítva. Legközelebb csak megváltoztathatom a domain felhasználói fiók jelszavát, és újra futtathatom a jelszó-visszaállítási folyamatot, hogy frissítsem a DSRM jelszót a tartományvezérlőn.
Bejelentkezés minden tartományvezérlőre azonban a környezet méretétől függően időbe telhet. A Windows PowerShell Remoting lehetővé teszi a parancsok távoli futtatását. Az Invoke-paranccsal bármilyen eszközről végrehajthatom a DSRM jelszó visszaállítását egy távoli tartományvezérlőn.
Invoke-Command-ComputerName DCS001P01-ScriptBlock { ntdsutil “állítsa be a DSRM jelszót “”szinkronizálás a tartományfiókból svc-dc” ” q “”q” }
ha azt tervezi, hogy ugyanazt a jelszót használja az összes tartományvezérlőhöz, akkor a PowerShell parancs könnyen adaptálható a tartomány összes tartományvezérlőjének jelszavának megváltoztatására.
Get-ADDomainController -Filter * | ForEach-Object { Invoke-Command -ComputerName $_.hostname -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-dc" "q" "q" } write-host $_.hostname }
minden tartományvezérlőhöz külön felhasználói fiókot is használhat, biztosítva, hogy a DSRM jelszó minden tartományvezérlőn eltérő legyen. A távoli PowerShell parancs ezután külön sorokban írható be minden tartományvezérlő és felhasználói fiók kombinációjához. Mentse el a szkriptet későbbi használatra. Ebben a példában minden tartományvezérlőhöz létrehoztam egy fiókot:
Invoke-Command -ComputerName DCS001P01 -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-DCS001P01" "q" "q" }Invoke-Command -ComputerName DCS002P01 -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-DCS002P01" "q" "q" }
most végre tudom hajtani az összes Tartományvezérlőm visszaállítását a mentett .PS1 fájl újbóli használatával a PowerShell ISE-ben. A következő DSRM jelszavam megváltoztatásakor csak annyit kell tennem, hogy megváltoztatom a felhasználói fiókok jelszavát, majd újra futtatom a szkriptet a tartományvezérlők DSRM jelszavának frissítéséhez.
ütemezett feladat
a tartományvezérlőkön beállíthatja az ütemezett feladatokat úgy, hogy automatikusan visszaállítsák a DSRM jelszót a (z) sync from domain account %s paraméterrel.
a feladat naponta végrehajtható a DSRM jelszó beállításához egy tartományi felhasználói fiókkal történő szinkronizálással. A DSRM jelszó gyakorlatilag csak akkor változik meg, ha a felhasználói fiók jelszavát megváltoztatják. A következő DSRM jelszóváltási ütemtervemben csak annyit kell tennem, hogy megváltoztatom a felhasználói fiókok jelszavait, és hagyom, hogy az ütemezett feladat gondoskodjon a többiről.
óvatosan használja ezt a módszert!
az ütemezett feladat a megfelelő jogosultságokkal rendelkező tartományvezérlőn, felügyelet nélkül fut. Ha bármely illetéktelen személy megváltoztathatja a referenciaszolgáltatási fiók jelszavát, akkor hatékonyan megváltoztatja a DSRM jelszót is, anélkül, hogy bármilyen Domain adminisztrátori jogot igényelne.
a szolgáltatási fiókokat biztosítani kell és ellenőrizni kell, ami további adminisztrációs költségeket jelent, ami véleményem szerint meghaladja az ütemezett feladat használatának előnyeit a drsm jelszóváltozások kezelésére.
az Ütemezett feladatok meghiúsulhatnak, ami azt eredményezheti, hogy a DSRM jelszó nem változik a várt módon. Ez olyan helyzetet eredményezhet, amikor nem tud bejelentkezni a tartományvezérlőre a DSRM-ben. Az ütemezett feladatokat hatékonyan nyomon kell követni, és ez fokozhatja az adminisztratív erőfeszítéseket.