Upravljanje lokalnim korisnicima i grupama pomoću programa PowerShell

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 stvaranje korisnika u AD domeni koristite cmdlet New-ADUser.

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

vijeće. Za stvaranje, brisanje ili dodavanje korisnika u grupe domena pogledajte članak Rad s grupama aktivnog direktorija koji koriste PowerShell.

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"