Správa uživatelů v systémech Windows je jedním z nejčastějších – a nejdůležitějších – úkolů každého IT administrátora. Zatímco grafické rozhraní zjednodušuje určité akce, používání PowerShellu šetří čas, zlepšuje kontrolu a automatizuje složité pracovní postupy . Možná si myslíte, že je to jen pro experty, ale realita je taková, že používání PowerShellu se stalo nezbytnou dovedností v moderní systémové administraci, ať už v lokálním prostředí, doménách nebo cloudu.
Tento článek je určen pro ty, kteří se chtějí hlouběji ponořit do efektivní správy uživatelských účtů pomocí PowerShellu , a to jak pro každodenní úkoly, tak pro pokročilé scénáře, od serverů bez grafického rozhraní až po prostředí Microsoft 365 a SharePoint Online. Vysvětlím krok za krokem, jak vytvářet, upravovat, mazat, auditovat a spravovat uživatele a skupiny, a to vše od základních rutin až po automatizační skripty. Pojďme se do toho pustit!
Co jsou cmdlety a moduly PowerShellu?
Pokročilá správa Windows prostřednictvím příkazového řádku se spoléhá na cmdlety , malé utility, které používají syntaxi sloveso-podstatné jméno a umožňují provádět akce na systémových objektech. Například pro vytvoření nového lokálního uživatele používáme New-LocalUser ; pro dotazování uživatelů v Active Directory používáme Get-ADUser . Každý cmdlet může přijímat argumenty pro přizpůsobení svého chování.
Rutiny (cmdlety) jsou uspořádány do modulů, které seskupují související příkazy. Jedním z klíčových modulů pro správu lokálních účtů je Microsoft.PowerShell.LocalAccounts , který musíte mít nainstalovaný (starší verze systému Windows Server mohou vyžadovat instalaci Windows Management Framework). Pro práci s uživateli domény potřebujete modul ActiveDirectory , který je ve Windows Serveru obvykle k dispozici po přidání odpovídající funkce.
- Zobrazení seznamu nainstalovaných modulů běžet
Get-Module -ListAvailable. - Zobrazit cmdlety dostupné v modulu:
Get-Command -Module Microsoft.PowerShell.LocalAccountsoGet-Command -Module ActiveDirectory
Aktualizuje nápovědu a vyhledá potřebné příkazy

Před zahájením je vhodné aktualizovat databázi nápovědy pro přístup k nejnovější dokumentaci k cmdletům. Spusťte Update-Help aby vše bylo aktuální. Pokud se ztratíte a nevíte, který příkaz použít, můžete vyhledat v nápovědě spuštěním Get-Help *usuario* nebo filtrovat podle klíčových slov v seznamu příkazů.
Modulární struktura PowerShellu usnadňuje nalezení toho, co potřebujete. Například pro nalezení všech cmdletů, které obsahují „Uživatel“, postupujte takto: Get-Command *User*.
Správa lokálních uživatelů: vytváření, úpravy a mazání
Pojďme si projít nejužitečnější příkazy pro správu účtů na počítačích mimo doménu:
- Zobrazit stávající lokální uživatele:
Get-LocalUser - Zkontrolujte konkrétní účet:
Get-LocalUser -Name "Administrador" - Vytvořit uživatele bez hesla:
New-LocalUser -Name "usuario1" -FullName "Nombre completo" -Description "Sin contraseña" -NoPassword - Vytvořte uživatele s heslem požadovaným v řádku:
$password = Read-Host -AsSecureString
New-LocalUser "usuario2" -Password $password -FullName "Usuario 2" -Description "Cuenta curso" - Zakázat účet:
Disable-LocalUser -Name "usuario2" - Smazat uživatele:
Remove-LocalUser -Name "usuario1" - Upravit atributy:
Set-LocalUser -Name "usuario2" -Description "Nuevo rol"
Správa hesel a atributů v lokálních účtech
PowerShell umožňuje interaktivně a hromadně měnit hesla:
- Změna hesla uživatele:
$password = Read-Host -AsSecureString
Set-LocalUser -Name "usuario2" -Password $password - Nastavit heslo s neomezenou platností:
Set-LocalUser -Name "usuario2" –PasswordNeverExpires $true - Přejmenovat lokálního uživatele:
Rename-LocalUser -Name "usuario2" -NewName "nuevo.nombre"
Správa místních skupin
Skupiny vám umožňují spravovat kolektivní oprávnění. Můžete je spravovat takto:
- Konzultační skupiny:
Get-LocalGroup - Zobrazit členy skupiny:
Get-LocalGroupMember -Name "Empleados" - Vytvořit skupinu:
New-LocalGroup -Name "Empleados" -Description "Grupo de empleados" - Přidat uživatele do skupiny:
Add-LocalGroupMember -Group "Empleados" -Member "usuario2" - Odebrat uživatele ze skupiny:
Remove-LocalGroupMember -Group "Empleados" -Member "usuario2" - Smazat skupinu:
Remove-LocalGroup -Name "Empleados"
Správa uživatelů v doménách (AD DS) pomocí PowerShellu
Ve firmách a síťových prostředích je běžné, že účty jsou spravovány z Active DirectoryZde se správa provádí prostřednictvím modulu ActiveDirectory a cmdlety obvykle začínají na „AD“. Nezapomeňte spustit PowerShell jako správce a v případě potřeby importovat modul pomocí Import-Module ActiveDirectory.
Základní dotazy týkající se prostředí AD
- Informace o lesích:
Get-ADForest - Informace o doméně:
Get-ADDomain - Dotazování řadičů domény:
Get-ADDomainController
Získání informací o uživatelích a jejich audit
- Zobrazit uživatele domény:
Get-ADUser -Filter * - Podívejte se na další nemovitosti:
Get-ADUser usuario -Properties * - Filtrovat uživatele podle jména:
Get-ADUser -Filter 'Name -like "jio*"' | Select Name
Vytváření, úprava a mazání uživatelů v Active Directory
- Vytvořte jednoduchého uživatele:
New-ADUser -Name "Victor" - Vytvořit uživatele s atributy:
New-ADUser -Name "Victor" -GivenName "Victor" -Surname "Genovés" -Path "CN=Users,DC=empresa,DC=local" - Přiřadit heslo (musí být použita proměnná typu SecureString):
$userpassword=ConvertTo-SecureString -AsPlainText -Force -String "clave123"
New-ADUser -Name "Victor" -AccountPassword $userpassword -Enabled $true - Smazat uživatele:
Remove-ADUser -Identity "CN=Victor,CN=Users,DC=empresa,DC=local"
Automatizace: Hromadné nahrávání a mazání uživatelů pomocí CSV
Pokud potřebujete vytvořit nebo smazat desítky (nebo stovky) účtů, je nejlepší připravit si soubor CSV a použít smyčku v PowerShellu:
- Příklad hromadné tvorby:
$users = Import-Csv -Path "usuarios.csv"
foreach ($i in $users) {
$userpassword=ConvertTo-SecureString $i.password -AsPlainText -Force
New-ADUser -Name $i.user -AccountPassword $userpassword
} - Hromadné smazání pomocí CSV:
$users = Import-Csv -Path "borradousuarios.csv"
foreach ($i in $users) { Remove-ADUser -Identity $i.user }
Pokročilé operace: Členství, atributy a zabezpečení
Kromě základní správy umožňuje PowerShell i pokročilé akce, jako například:
- Přidat uživatele do reklamní skupiny:
Add-ADGroupMember "GrupoPrueba" usuario1,usuario2 - Zkontrolujte členství uživatele:
Get-ADUser usuario1 -Properties MemberOf - Upravit vlastní atributy:
Set-ADUser usuario1 -Description "Usuario de soporte" - Kontrola hodin přihlášení (logonhours):
Nejprve definujte bajtové pole představující povolený počet hodin a poté použijte:
Get-ADUser usuario1 | Set-ADUser -replace @{logonhours = $horario}
Správa hesel a odemykání účtů v Active Directory
- Změna nebo reset hesla (známé):
Set-ADAccountPassword usuario1 - Obnovení bez znalosti předchozího:
Set-ADAccountPassword usuario1 -Reset - Odemknout účet:
Unlock-ADAccount usuario1 -Verbose
Správa skupin a členství v Active Directory
- Zkontrolujte informace o skupinách:
Get-ADGroup "Grupo" - Zobrazit členy skupiny:
Get-ADGroupMember "Grupo" - Přidat uživatele do skupiny:
Add-ADGroupMember "Grupo" usuario1
Správa uživatelů a skupin v Microsoft 365 a SharePointu Online
PowerShell není určen pouze pro místní prostředí. Správci Microsoft 365 a SharePointu Online mohou automatizovat správu účtů, skupin, oprávnění a webů pomocí specifických rutin. Je nezbytné se nejprve připojit k prostředí (například pomocí Connect-SPOService).
- Seznam webů:
Get-SPOSite - Vypsat skupiny z webu:
Get-SPOSite | ForEach {Get-SPOSiteGroup -Site $_.Url} - Seznam uživatelů webu:
Get-SPOSite | ForEach {Get-SPOUser -Site $_.Url} - Přidat uživatele jako správce kolekce webů:
$tenant = "contoso"
$site = "contosotest"
$user = "opalc"
Set-SPOUser -Site https://$tenant.sharepoint.com/sites/$site -LoginName $user@$tenant.com -IsSiteCollectionAdmin $true - Přidat uživatele do skupiny SharePoint:
Add-SPOUser -Group $group -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site - Odstranit uživatele ze skupiny:
Remove-SPOUser -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site -Group $group
Pokročilá automatizace s CSV v Microsoftu 365
Pro přidání nebo odebrání více uživatelů a oprávnění je nejefektivnější připravit strukturované soubory CSV a použít automatizované skripty. Například:
- Vytvoření skupin z CSV:
Import-Csv C:\O365Admin\GroupsAndPermissions.csv | ForEach {New-SPOSiteGroup -Group $_.Group -PermissionLevels $_.PermissionLevels -Site $_.Site} - Přidání uživatelů do skupin z CSV:
Import-Csv C:\O365Admin\Users.csv | ForEach {Add-SPOUser -Group $_.Group –LoginName $_.LoginName -Site $_.Site}
Jak generovat uživatelské reporty a audity?
Jednou ze silných stránek PowerShellu je možnost exportovat informace a vytvářet reporty o účtech a oprávněních:
- Uživatelé webu v SharePointu Online:
Get-SPOUser -Site https://contoso.sharepoint.com/sites/contosotest | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append - Pro více webů:
Get-SPOSite | ForEach {Get-SPOUser –Site $_.Url} | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
Doporučení a praktické aspekty
Před spuštěním rozsáhlých operací vždy proveďte test v laboratorním prostředí nebo „mock-upech“, abyste se vyhnuli chybám, které by mohly ovlivnit produkční systémy. Je nezbytné si zvyknout dokumentovat a ukládat skripty a také kontrolovat přidělování oprávnění.
PowerShell je mnohem víc než jen příkazový řádek: pracuje s objekty, umožňuje filtrovat výstup, přesměrovávat informace a automatizovat věci, které by s grafickým rozhraním nebyly možné. Věnujte čas seznámení se s podrobnostmi o jednotlivých rutinách s... Get-Help a experimentujte s příklady přizpůsobenými vašemu prostředí.
Zvládnutí tohoto návodu vám poskytne větší kontrolu, rychlost a zabezpečení při správě uživatelů a skupin, a to jak na lokálních serverech, tak v cloudu, což zjednoduší opakující se úkoly a zlepší celkovou správu vašich systémů. Sdílejte tuto příručku, aby se o tomto tématu mohli dozvědět i ostatní uživatelé.