Nedavno je Microsoft dodao standardni Windows PowerShell modul za upravljanje lokalnim korisnicima i grupama pod nazivom Windows. Microsoft.PowerShell.LocalAccounts. Prethodno su ovaj cmdlet morali odvojeno preuzeti i uvesti u PowerShell. U sustavima Windows Server 2016 i Windows 10 LocalAccounts je sada dostupan prema zadanim postavkama jer Uključen je u program PowerShell 5.1. U starijim verzijama sustava Windows za korištenje lokalnog modula za upravljanje računom morate instalirati Windows Management Framework 5.1.
sadržaj:
- Modul LocalAccounts
- Upravljanje lokalnim Windows korisnicima pomoću PowerShell-a
- Upravljanje Windows lokalnim grupama pomoću PowerShell-a
Modul LocalAccounts
Modul ukupno uključuje 15 cmdleta. Potpuni popis cmdleta u modulu LocalAccounts može se prikazati ovako:
Get-Command -Module Microsoft.PowerShell.LocalAccounts
- Add-LocalGroupMember - dodajte korisnika u lokalnu grupu
- Onemogući-LocalUser - onemogući lokalni račun
- Omogući-LocalUser - omogući račun (otključaj)
- Get-LocalGroup - dobijte informacije o lokalnoj grupi
- Get-LocalGroupMember - dobijte popis korisnika u lokalnoj grupi
- Get-LocalUser - dobijte informacije o lokalnom korisniku
- Nova lokalna grupa - stvorite novu lokalnu grupu
- New-LocalUser - stvorite korisnika
- Remove-LocalGroup - ukloni grupu
- Remove-LocalGroupMember - ukloni člana iz grupe
- Remove-LocalUser - uklanja lokalnog korisnika
- Preimenuj-LocalGroup - preimenuj grupu
- Rename-LocalUser - preimenovanje korisnika
- Set-LocalGroup - promijenite grupu
- Set-LocalUser - promjena korisnika
Zatim ćemo pogledati nekoliko tipičnih zadataka za upravljanje lokalnim korisnicima i grupama na Windows 10 računalu pomoću PowerShell cmdleta iz modula LocalAccounts..
Upravljanje lokalnim Windows korisnicima pomoću PowerShell-a
Na popisu lokalnih Windows korisnika na računalu:
Get-LocalUser
Kao što vidite, na računalu postoji 7 lokalnih računa, od kojih su 3 onemogućena (omogućeno = lažno).
Da biste prikazali sva svojstva određenog lokalnog računa (analogni cmdlet za dobivanje korisničkih podataka od AD - Get-ADUser), pokrenite:
Get-LocalUser -Name 'root' | Select-Object *
AccountExpires:
Opis:
Omogućeno: Točno
FULLNAME:
Promijeni lozinkomDatum: 3.4.2018 23:23:48
PasswordExpires:
UserMayChangePassword: Točno
Potrebna lozinka: Lažno
PasswordLastSet: 22.4.2018 23:23:48
LastLogon: 15.7.2018 21:04:32
Naziv: korijen
SID: S-1-5-21-3650440056-3766451173-3310994491-1001
Glavni izvor: Lokalno
ObjectClass: Korisnik
Da biste dobili određeni korisnički atribut, na primjer, vrijeme posljednje promjene lozinke, učinite:
Get-LocalUser -Name 'root' | Select-Object PasswordLastSet
Napravite novog lokalnog korisnika pomoću cmdleta New-LocalUser. Ovaj cmdlet omogućuje vam stvaranje sljedećih vrsta računa:
- Windows lokalni računi
- Microsoftovi računi
- Azure AD Računi
Kada kreirate korisnički račun pomoću New-LocalUser-a, ne možete u jasnom tekstu navesti njegovu lozinku kao argument lozinke. Prethodno se lozinka mora pretvoriti u sigurnu liniju tako što će interaktivno zatražiti lozinku:
$ UserPassword = Čitanje-domaćin -AsSecureString
Ili unosom lozinke izravno u PoSh konzoli:
$ UserPassword = PretvoriTo-SecureString "Pa $$ riječ !!" -AsPlainText -Force
New-LocalUser "SIvanov" -Password $ UserPassword -FullName "Sergey Ivanov" -Opis "Lokalni račun dlya udalennogo vhoda"
Za promjenu korisničke lozinke koristite naredbu Set-LocalUser (pod pretpostavkom da ste novu lozinku već pretvorili u SecureString):
Set-LocalUser -Name sivanov -Password $ UserPassword -Verbose
Da biste postavili zastavicu "Lozinka nikad nije istekla", pokrenite:
Set-LocalUser -Name sivanov -PasswordNeverExpires $ False
Kao što vidite, ne morate pretvarati vrijednost UserAccountControl, kao što je upravljanje imovinom računa u AD-u..
Kao što se sjećate, možete se prijaviti u Windows 10 pomoću Microsoftovih računa. Ako trebate stvoriti novog korisnika povezanog s Microsoftovim računom, pokrenite sljedeću naredbu (imajte na umu da ne trebate navesti lozinku računa jer je ona spremljena u Microsoftu).
New-LocalUser -Name "MicrosoftAccount \ [email protected]" -Opis "Ovo je račun u Microsoftu"
Da biste stvorili lokalni račun koji je povezan s vašim računom u Azure AD (na primjer, koristite Office 365), pokrenite naredbu:
New-LocalUser -Name "AzureAD \ [email protected]" -Opis "Ovo je račun u Azure AD"
Da biste uklonili ovog lokalnog korisnika, učinite:
Ukloni-LocalUser -Name sivanov -Verbose
Upravljanje Windows lokalnim grupama pomoću PowerShell-a
Sada na popisu prikazujemo lokalne skupine:
Get-localgroup
Stvorite novu grupu:
New-LocalGroup -Name 'RemoteSupport' -Opis 'Remote Support Group'
Sada dodajte nekoliko lokalnih računa i grupu lokalnih administratora u novu grupu:
Add-LocalGroupMember -Group 'RemoteSupport' -Member ('SIvanov', 'root', 'Administrators') -Verbose
Ako je vaše računalo dio domene, možete je dodati u lokalne račune i račune ili grupe domena. Da biste to učinili, moraju biti navedeni u formatu DomainName \ user2 ili DomainName \ 'domain Admins'.
Također možete dodati korisnika u grupe koristeći sljedeći cjevovod (dodajte korisnika lokalnim administratorima):
Get-Localuser -Name 'sivanov' | Add-LocalGroupMember -Group "Administratori"
Popis korisnika u lokalnoj grupi:
Get-LocalGroupMember -Group 'RemoteSupport'
Kao što vidite, koristimo samo lokalne račune (PrincipalSource - Lokalni). Međutim, mogu postojati računi domene (domena), Microsoftovi računi (MicrosoftAccount) i računi iz Azure (AzureAD).
Za popis grupa kojima je određeni korisnik član, morat ćete proći sve lokalne grupe na računalu:
foreach ($ LocalGroup u Get-LocalGroup)
if (Get-LocalGroupMember $ LocalGroup -Member 'sivanov' -ErrorAction SilentlyContinue)
$ LocalGroup.Name
Da biste korisnika uklonili iz grupe, učinite:
Remove-LocalGroupMember -Group 'RemoteSupport' -Member 'sivanov'
Da biste upravljali lokalnim korisnicima na udaljenom računalu, prvo se morate povezati s njim putem WinRM-a pomoću cmdleta Invoke-Command ili Enter-PSSession.
Na primjer, na udaljenim računalima moramo prikupiti popis računa u lokalnoj grupi:
$ s = new-pssession -računalo pc01, pc02, pc03
invoke-command -scriptblock Get-LocalGroupMember -Group 'RemoteSupport' -session $ s -hidecomputername | odaberite * -exclude RunspaceID | out-gridview -title "LocalAdmins"