Článek přečtěte do 7 min.

Uživatelé obvykle aktualizují hesla svých doménových účtů pomocí nabídky Nastavení systému Windows. Pokud však zapomenou heslo nebo je jejich účet deaktivován, musí zasáhnout správce.

Tento příspěvek na blogu zkoumá několik způsobů, jak může administrátor resetovat heslo uživatele nebo vytvořit nové. Nejprve si projdeme nejjednodušší možnosti: Active Directory Users and Computers (ADUC) a Active Directory Administrative Center (ADAC). Ale protože oba mají svá omezení, probereme také, jak mohou správci spravovat uživatelská hesla efektivněji pomocí PowerShellu nebo nástrojů třetích stran.

Předpoklad: Kontrola oprávnění pro resetování hesla

Aby bylo možné resetovat heslo uživatele, musí mít správce příslušná oprávnění. Ve výchozím nastavení jsou členové skupin Domain Admins a Account Operators oprávněni měnit hesla pro jiné účty. Toto právo lze delegovat i dalším uživatelům a skupinám.

Chcete-li zkontrolovat, zda určitý správce může resetovat heslo k uživatelskému účtu, postupujte takto:

  1. V ACUC otevřete vlastnosti uživatele AD, pro kterého chcete zobrazit oprávnění.
  2. Přejděte na kartu Zabezpečení a klikněte na Upřesnit.
  3. Vyberte možnost Efektivní přístup, zadejte název účtu správce a zjistěte, zda má oprávnění k obnovení hesla.
    Předpoklad: Kontrola oprávnění pro resetování hesla

Resetování hesel pomocí ADUC a ADAC

Správci mají dvě možnosti pro resetování uživatelských hesel založené na grafickém uživatelském rozhraní: Active Directory Users and Computers (ADUC) a Active Directory Administrative Center (ADAC).

Obnovení hesla pomocí ADUC

Chcete-li resetovat heslo uživatele pomocí ADUC, postupujte takto:

  1. Pokud znáte umístění uživatele v AD, jehož heslo chcete změnit, přejděte k němu, klikněte na něj pravým tlačítkem a vyberte možnost Obnovit heslo.
    Obnovení hesla pomocí ADUC
    Pokud neznáte umístění uživatele v AD, vyhledejte uživatele kliknutím pravým tlačítkem na doménu a výběrem Najít:
    Obnovení hesla pomocí ADUC
    Zadejte jméno uživatele a klikněte na Najít. Poté klikněte pravým tlačítkem na jméno ve výsledcích vyhledávání a zvolte Obnovit heslo.
    Obnovení hesla pomocí ADUC
  2. V dialogovém okně Obnovit heslo:
    • Zadejte nové heslo a potvrďte jej opětovným zadáním.
    • Zaškrtněte políčko Uživatel musí změnit heslo při příštím přihlášení, chcete-li přinutit uživatele změnit heslo při příštím přihlášení.
    • Pokud byl uživatelský účet uzamčen zásadou zabezpečení AD z důvodu vícenásobných pokusů o přihlášení s nesprávným heslem, můžete účet odemknout zaškrtnutím políčka Odemknout účet uživatele.
      Obnovení hesla pomocí ADUC
  3. Klepněte na tlačítko OK.

Obnovení hesla pomocí ADAC

Proces resetování hesel pomocí ADAC je velmi podobný tomu, který se používá pro ADUC. Zde jsou snímky obrazovky pro klíčové kroky:

Obnovení hesla pomocí ADAC
Obnovení hesla pomocí ADAC

Resetování hesel pomocí PowerShellu

Zatímco ADUC a ADAC poskytují jednoduchý způsob, jak resetovat jedno uživatelské heslo, nejsou užitečné, pokud jde o změnu hesel pro mnoho uživatelů. K tomu správci potřebují PowerShell. PowerShell umožňuje rychle hromadně resetovat uživatelská hesla AD a dokonce automaticky vytvářet komplikovaná náhodná hesla.

Set-ADAccountPassword: Syntaxe

Začněme rutinou Set-ADAccountPassword, která nastavuje heslo pro účet uživatele, počítače nebo služby. Syntaxe této rutiny je následující:

Set-ADAccountPassword [-WhatIf] [-Confirm] [-AuthType <ADAuthType>] [-Credential <PSCredential>] [-Identity] <ADAccount> [-NewPassword <SecureString>] [-OldPassword <SecureString>] [-Partition <String>] [-PassThru] [-Reset] [-Server <String>] [<CommonParameters>]

Set-ADAccountPassword: Parametry

Zde jsou klíčové parametry, o kterých byste měli vědět:

Parametr Bývalo
AuthType Zadejte metodu ověřování, kterou chcete použít. Platné hodnoty jsou:
Negotiate nebo 0 (výchozí)
Basic nebo 1
Potvrdit Před spuštěním příkazu zobrazte výzvu k potvrzení.
Pověření Spusťte příkaz nebo skript pomocí alternativních přihlašovacích údajů.
Identita Zadejte objekt služby Active Directory, pro který je vyžadována operace resetování hesla. Jako hodnoty použijte následující:
Distinguished Name
GUID
Bezpečnostní identifikátor (ObjectSid)
Název účtu SAM
Nové heslo Zadejte nové heslo.
Server Zadejte plně kvalifikovaný název domény (FQDN) jednoho z následujících:
FQDN domény
FQDN adresářového serveru
FQDN s číslem portu domény nebo adresářového serveru Pro tento parametr musí být ve vašem prostředí nasazena jedna z následujících služeb:
Active Directory Domain Services
Instance snímku služby Active Directory
Staré heslo Při změně hesla uveďte staré heslo.
Rozdělit Zadejte oddíl Active Directory, ke kterému jste připojeni, pokud to není výchozí oddíl.
Projít Zobrazit podrobnosti o objektu uživatele.
Resetovat Obnovte heslo pro objekt; musí být také specifikován parametr NewPassword.
Server Zadejte plně kvalifikovaný název domény (FQDN) jednoho z následujících:
FQDN domény
FQDN adresářového serveru
FQDN s číslem portu domény nebo adresářového serveru
Pro tento parametr musí být ve vašem prostředí nasazena jedna z následujících služeb:
Active Directory Domain Services
Active Directory Snapshot Instance
Active Directory Lightweight Domain Services
Co když Podívejte se, jaký by byl výstup rutiny bez jejího skutečného spuštění.

Nyní si projdeme několik příkladů použití rutiny Set-ADAccountPassword.

Resetujte uživatelské heslo AD

Spuštěním následujícího příkazu resetujte heslo uživatelského účtu. Budete vyzváni k zadání nového a starého hesla pro tento účet.

Set-ADAccountPassword -Identity AbbeyCrawford

Set-ADAccountPassword -Identity "CN=AbbeyCrawford,OU=VersaCorp,DC=milkyway,DC=local"
Resetujte uživatelské heslo AD

Případně můžete nejprve uložit heslo do proměnné a poté ji použít v rutině k resetování hesla:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force Set-ADAccountPassword -Identity AbbeyWarren -NewPassword $Pwd -Reset

Spuštění těchto rutin nezobrazí žádný výstup v konzole PowerShell.

Abychom získali výstup, musíme přidat parametr -PassThru. Zde je příklad, který používá tento parametr a také několik dalších:

Set-ADAccountPassword abbeywarren -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “NewP@ssw0rd123” -Force -Verbose) –PassThru
Resetujte uživatelské heslo AD

Odemkněte účet při resetování jeho hesla

Účet uživatele se může zablokovat, protože příliš často zadává nesprávné heslo, jak je nastaveno v zásadách uzamčení účtu. V takovém případě se uživateli zobrazí chyba, jako je následující:

Set-ADAccountPassword Poweshell - Odemkněte účet při resetování jeho hesla

Administrátor může odemknout účet ze stránky „Vlastnosti“ uživatele v ADUC:

Set-ADAccountPassword Poweshell - Odemkněte účet při resetování jeho hesla

Případně můžete jednoduše odemknout účet a zároveň resetovat jeho heslo pomocí parametru Unlock-ADAccount s kanálem:

Set-ADAccountPassword abbeywarren -Reset –NewPassword $PWD –PassThru | Unlock-ADAccount

Vynutit uživateli změnu hesla při příštím přihlášení

Chcete-li přinutit uživatele, aby si při příštím přihlášení do domény změnil heslo, můžete použít příkaz Set-ADUser:

Set-ADUser -Identity abbeywarren -ChangePasswordAtLogon $true

Můžete také změnit heslo uživatele a vynutit změnu hesla při příštím přihlášení jedním příkazem:

Set-ADAccountPassword abbeycrawford -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True

Spuštění tohoto příkazu povolí možnost Uživatel musí změnit heslo při příštím přihlášení, jak je uvedeno níže:

Set-ADAccountPassword Poweshell - Vynutit uživateli změnu hesla při příštím přihlášení

Obnovte heslo pomocí alternativního pověření

Správci mají obvykle dva účty: standardní uživatelský účet a účet správce. Chcete-li změnit heslo uživatele pomocí svého privilegovaného účtu, když jste přihlášeni ke svému standardnímu účtu, použijte parametr -Credential

Nejprve uložte své přihlašovací údaje správce do proměnné:

$Credentials = Get-Credential

Tento příkaz vás vyzve k zadání přihlašovacích údajů, které mají být uloženy:

Set-ADAccountPassword Poweshell - Obnovte heslo pomocí alternativního pověření

Poté můžeme použít následující proměnnou k uložení nového hesla pro uživatele:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force

Pak použijeme obě tyto proměnné v Set-ADAccountPassword:

Set-ADAccountPassword -Identity abbeywarren -NewPassword $Pwd -Credential $Credential

Ověřte výsledky resetování hesla

Chcete-li ověřit, že heslo bylo úspěšně resetováno, použijte příkaz Get-ADUser ke kontrole data a času, kdy bylo heslo naposledy změněno:

Get-ADUser abbeywarren -Properties * | select name, pass*
Set-ADAccountPassword Poweshell - Ověřte výsledky resetování hesla

Obnovte hesla pro více uživatelů na stejnou hodnotu

Někdy je potřeba hromadně resetovat uživatelská hesla. Předpokládejme například, že chcete nastavit stejné heslo pro všechny uživatele v technickém oddělení a požadujete, aby si tito uživatelé změnili svá hesla při příštím přihlášení. Jednoduše použijte Get-ADUser s parametrem -Filter a vyberte uživatele, jejichž „oddělení“ hodnota je nastavena na „Engineering“ a přenese je do rutiny Set-ADAccountPassword:

Get-ADUser -filter "department -eq 'Engineering'" | Set-ADAccountPassword -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True
Set-ADAccountPassword Poweshell - Obnovte hesla pro více uživatelů na stejnou hodnotu

Výsledky můžeme ověřit zobrazením vlastností hesla uživatelů:

Get-ADUser -filter "department -eq 'Engineering'" -Properties * | select name, pass*
Set-ADAccountPassword Poweshell - Obnovte hesla pro více uživatelů na stejnou hodnotu

Obnovte hesla pro více uživatelů na jinou hodnotu

Nyní předpokládejme, že máte soubor CSV nebo Excel, který obsahuje seznam více uživatelů, kteří potřebují resetování hesla, spolu s heslem, které má být každému uživateli přiděleno:

Set-ADAccountPassword Poweshell - Obnovte hesla pro více uživatelů na jinou hodnotu

Spuštěním následujícího skriptu PowerShell změňte heslo pro každý uživatelský účet v souboru CSV:

Import-Csv c:\users.csv -Delimiter "," | Foreach {

$Password = ConvertTo-SecureString -AsPlainText $_.NewPassword -Force

Set-ADAccountPassword -Identity $_.sAMAccountName -NewPassword $Password -Reset -PassThru | Set-ADUser -ChangePasswordAtLogon $false

}
Set-ADAccountPassword Poweshell - Obnovte hesla pro více uživatelů na jinou hodnotu

Zjednodušení správy hesel pomocí Netwrix GroupID

Netwrix GroupID zjednodušuje správu hesel tím, že poskytuje snadno přístupné portály pro podnikové uživatele i týmy helpdesku. Když je pomocí portálů upraven jakýkoli objekt AD, je určeným příjemcům zasláno e-mailové upozornění, které je na změny upozorní.

Uživatelský portál

Uživatelský portál umožňuje podnikovým uživatelům samostatně provádět následující činnosti:

  • Změňte jim heslo
  • Obnovte jejich heslo
  • Odemkněte jejich účet

Zde je dialog pro uživatele, jak změnit své heslo v Netwrix GroupID:

Set-ADAccountPassword Poweshell - Uživatelský portál

Portál helpdesku

Pomocí portálu helpdesk mohou uživatelé helpdesku provádět následující operace jménem uživatelů:

  • Obnovte heslo uživatele
  • Odemknout uživatelský účet

Zde je dialog pro změnu hesla uživatele:

Set-ADAccountPassword Poweshell - Helpdesk Porta

Zde je dialog pro odemknutí uživatelského účtu:

Set-ADAccountPassword Poweshell - Helpdesk Porta

Uživatelé helpdesku mohou využít možnosti Dashboard, History a Live Updates portálu helpdesk ke sledování aktivity uživatelů na uživatelském portálu:

Set-ADAccountPassword Poweshell - Helpdesk Porta

Zdroj: Netwrix