- Struktura e cmdlet-eve, moduleve dhe ndihmës për menaxhimin e identiteteve me PowerShell.
- Kryeni operacione në përdorues dhe grupe lokalë dhe në Active Directory.
- Automatizim me CSV dhe skripte për shtesa/fshirje masive dhe ndryshime atributesh.
- Përmbledhje e menaxhimit të Microsoft 365 (përdoruesit, grupet, licencat) me PowerShell.
Menaxhimi i përdoruesve nga PowerShell Është një nga ato aftësi që, pasi ta zotëroni, ju kursen shumë kohë dhe ju jep kontroll të plotë mbi mjedisin tuaj. Nuk ka rëndësi nëse po punoni me një kompjuter të pavarur, një grumbull serverash apo një domen të tërë: ta bësh këtë përmes konsolës është më e shpejtë, më e skriptueshme dhe më e përsëritshme sesa të mundohesh me Windows.
Përveç kësaj, Shumë servera nuk kanë një ndërfaqe grafike Për performancë, siguri ose thjesht kursime burimesh, PowerShell i përshtatet këtij skenari si një dorezë: një shell modern, i orientuar drejt objekteve me një sintaksë të qëndrueshme folje-emër që lejon funksionim të nivelit të ulët pa pasur nevojë të mbahet mend çdo levë në sistem.
PowerShell në dy vija: cmdlets, ndihmë dhe filozofi
PowerShell bazohet në cmdlets me sintaksë folje-emër (p.sh., 'New-LocalUser'), të cilat janë projektuar për të punuar me objekte të sistemit në vend të tekstit të thjeshtë. Kjo do të thotë që ju mund t'i transferoni me lehtësi rezultatet në cmdlet-e të tjera dhe t'i filtroni sipas vetive.
Për t'ju mbështetur çdo ditë, përditësoni përmbajtjen e ndihmës me 'Ndihmë për Përditësim' dhe konsultohuni me shembuj realë 'Get-Help Name-Cmdlet -Examples'Mbajtja e ndihmës të përditësuar do t'ju lejojë të zbuloni parametra, përdorime dhe nuanca që nuk do t'i mbani mend përmendësh.
Cmdlet-et grupohen në module funksionalePër shembull, të gjitha llogaritë lokale ndodhen në 'Microsoft.PowerShell.LocalAccounts', ndërsa Active Directory menaxhohet nga moduli 'ActiveDirectory'. Ngarkoni dhe pyetni se çfarë është e disponueshme me 'Get-Module -ListAvailable' dhe më pas inspektoni komandat e saj me 'Get-Command -Module ModuleName'.
Kanalizimi është çelësi: ju mund ta bëni filtra ekspresivë me 'Where-Object'. Sintaksa moderne ju lejon të shkruani diçka si 'Where-Object Name -si '*LocalAccounts*' në vend të '$_.Name -si '*LocalAccounts*' klasik, duke e bërë atë më të lexueshëm dhe më të lehtë për t'u mirëmbajtur.

Përdoruesit lokalë: listoni, krijoni, modifikoni dhe fshini
Moduli 'Microsoft.PowerShell.LocalAccounts' ofron cmdlet-e për menaxhoni përdoruesit dhe grupet lokaleKontrolloni që është i disponueshëm me 'Get-Module -ListAvailable -Name Microsoft.PowerShell.LocalAccounts' dhe eksploroni komandat e tij me 'Get-Command -Module Microsoft.PowerShell.LocalAccounts'.
Për të marrë llogari lokale, përdorni 'Merrni Përdoruesin Lokal'Ky cmdlet kthen si llogaritë e integruara (si p.sh. 'Administrator' ose 'Vizitor') ashtu edhe llogaritë që krijoni vetë. Ai pranon filtra sipas emrit ('-Emri') dhe madje edhe sipas identifikues sigurie (SID):
Get-LocalUser
Get-LocalUser -Name 'Administrador'
Get-LocalUser -SID 'S-1-5-21-...' # Ejemplo de consulta por SID
Rezultati është një objekt 'LocalUser' që përfshin, ndër të tjera, vetinë 'Burimi Kryesor' (Windows 10/Server 2016 ose më i ri) duke treguar burimin e tij: 'Lokal', 'Active Directory', 'Microsoft Account' ose 'Microsoft Entra group'.
Krijimi i përdoruesve është po aq i thjeshtë sa ekzekutimi 'Përdorues i Ri Lokal'Mund të filloni me minimumin e domosdoshëm (emrin) ose të vendosni një fjalëkalim të fortë dhe atribute të tjera që nga fillimi:
# Alta básica (sin contraseña; la cuenta no podrá iniciar sesión hasta que se habilite y asigne clave)
New-LocalUser -Name 'Usuario1' -Description 'Cuenta de pruebas'
# Alta con contraseña solicitada por consola
$password = Read-Host -AsSecureString
New-LocalUser -Name 'Usuario2' -Password $password -FullName 'Usuario 2 curso' -Description 'Usuario número 2'
Ndër parametrat më të dobishëm të 'New-LocalUser' janë -Skadimi i llogarisë, -LlogariaNukEkzakonAsnjëherë, -Përshkrim, -Me aftësi të kufizuara, -Emri i plotë, -Pa fjalëkalim, -PërdoruesiMundTëNdalojëFjalëkalimin y -KonfirmoZgjidhni kombinimin që ju përshtatet politika e lejeve në Windows 10.
Nëse keni nevojë riemërtoni ose rregulloni atributet, kombinon 'Riemërto Përdoruesin Lokal' dhe 'Vendos Përdoruesin Lokal':
Rename-LocalUser -Name 'Usuario2' -NewName 'i.landajuela'
Set-LocalUser -Name 'i.landajuela' -Description 'Responsable TIC'
Get-LocalUser -Name 'i.landajuela' | Set-LocalUser -FullName 'Iker Landajuela'
Set-LocalUser -Name 'i.landajuela' -PasswordNeverExpires $false
Për të kontrolluar hyrjen, mos harroni se mundeni çaktivizoni ose aktivizoni llogaritë vendasit direkt:
Disable-LocalUser -Name 'Usuario1'
Enable-LocalUser -Name 'i.landajuela'
El ndryshimi i fjalëkalimit Në një llogari ekzistuese, kjo bëhet me 'Set-LocalUser -Password':
$password = Read-Host -AsSecureString
Get-LocalUser -Name 'i.landajuela' | Set-LocalUser -Password $password
Për eliminimi'Remove-LocalUser' është i drejtpërdrejtë dhe mbështet procesin e tubacionit. Është një ide e mirë të listoni statusin pas fshirjes për të validuar rezultatin:
Remove-LocalUser 'Usuario1'
Get-LocalUser | Format-Table Name, Enabled
Grupet lokale: regjistrimi, anëtarësimi dhe pastrimi
Kontrolloni së pari se çfarë keni me vete 'Merrni-Grupin Lokal' dhe detajet e një grupi me 'Get-LocalGroup -Name'. Për të krijuar një kontejner të ri logjik:
New-LocalGroup -Name 'Empleados' -Description 'Grupo empleados'
Shtimi dhe heqja e anëtarëve është detyrë e 'Shto-Anëtarin e Grupit Lokal' dhe 'Remove-LocalGroupMember'. Ato pranojnë përdorues si lokalë ashtu edhe domene (duke përdorur formatin 'DOMAIN\account'):
Add-LocalGroupMember -Group 'Empleados' -Name 'i.landajuela' -Verbose
Add-LocalGroupMember -Group 'Empleados' -Name 'DOMINIO\i.landajuela'
Get-LocalGroupMember -Name 'Empleados'
Remove-LocalGroupMember -Group 'Empleados' -Name 'i.landajuela'
Nëse grupi nuk është më i nevojshëm, mundeni fshijeni atë pa ndërlikime:
Remove-LocalGroup -Name 'Empleados'
Active Directory (AD DS): Përgatitja e Mjedisit dhe Pyetjet e Para
Për një domen, gjëja e parë është kontrolloni versionin tuaj të PowerShell dhe ngarkoni modulin 'ActiveDirectory'. Kontrolloni versionin me 'Get-Host' ose '$PSVersionTable.PSVersion' dhe, nëse po punoni në Windows Server 2012 R2, sigurohuni që keni WMF 5.1 instaluar për të aksesuar cmdlet-et aktuale.
Hapni PowerShell si administrator dhe importo modulin:
Import-Module ActiveDirectory
Lidhuni konceptualisht me pyllin dhe domenin duke konsultuar informacionin e tij me 'Get-ADForest' y 'Merr-ADDomain'Mund të zgjidhni vetëm fushat kryesore dhe ta formatoni rezultatin për ta shfaqur në një tabelë, listë ose edhe në një rrjet interaktiv:
Get-ADForest | Select-Object Name, Domains, ForestMode
Get-ADDomain | Select-Object Name, DomainMode
Get-ADDomain | Select-Object Name, DomainMode | Format-Table
Get-ADDomain | Select-Object Name, DomainMode | Format-List
Get-ADDomain | Select-Object Name, DomainMode | Out-GridView
Për të ditur se ku po shkelni, identifikoni kontrolluesit e domenit dhe filtroni vetitë me '-Filter' ose 'Select-Object':
Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, Site, OperationMasterRoles
Përdoruesit në Active Directory: regjistrimi, pyetja, ndryshimet dhe çregjistrimi
Krijimi i përdoruesve të AD është çështje e 'Përdorues i Ri i AD'Hyrja minimale përcakton emrin e objektit, por është e zakonshme të shtohet emri, mbiemri dhe vendndodhja (OU ose kontejneri) brenda direktorisë. Është një ide e mirë të vendosni fjalëkalimin si një objekt të sigurt:
# Alta mínima
New-ADUser -Name 'Victor'
# Alta más completa con ubicación
New-ADUser -Name 'Victor' -GivenName 'Victor' -Surname 'Genovés' -Path 'CN=Users,DC=somebooks,DC=local'
# Alta con contraseña (ejemplo genérico)
$userPassword = ConvertTo-SecureString -AsPlainText -Force -String 'ContraseñaSegura123!'
New-ADUser -Name 'jioller2' -Description 'Segunda Cuenta de Nacho' -Enabled $true -AccountPassword $userPassword
në konsultohet Për informacion mbi përdoruesin, 'Get-ADUser' kthen thelbin e dokumentit. Nëse doni të shihni gjithçka, përdorni '-Properties *', dhe nëse rezultati është i madh, përdorni 'more' për të renditur faqet:
Get-ADUser 'Victor' -Properties * | more
Ju gjithashtu mundeni kontrolloni se sa përdorues ka në domen me një numërim të thjeshtë:
(Get-ADUser -Filter *).Count
Pasi të krijohet llogaria, është e zakonshme të caktojeni atë në grupe me 'Add-ADGroupMember'. Mos harroni të përdorni 'SamAccountName' të llogarisë:
Add-ADGroupMember 'GrupoPrueba' 'jioller'
në modifiko atributet (përshkrimi, qyteti, departamenti, etj.) përdorni 'Set-ADUser' me parametrat e duhur. Nëse ka hapësira, është e mençur ta mbani vargun në thonjëza:
Set-ADUser 'jioller' -Description 'Usuario de Nacho'
Sa për contraseñasNëse e dini fjalëkalimin tuaj aktual, kërkoni një ndryshim interaktiv me 'Set-ADAccountPassword'; përndryshe, përdorni '-Reset' për të detyruar një rivendosje:
Set-ADAccountPassword 'jioller'
Set-ADAccountPassword 'jioller' -Reset
Nëse një llogari bllokohet për shkak të përpjekjeve të dështuara, zgjidhja është zhbllokoni atë me 'Unlock-ADAccount', dhe mund të provoni së pari '-WhatIf' për të simuluar:
Unlock-ADAccount 'jioller' -Verbose
Unlock-ADAccount 'jioller' -WhatIf
La eliminimi Në AD, kjo bëhet me 'Remove-ADUser', duke specifikuar identitetin; për shembull, me emrin e dalluar të llogarisë ('CN=…,OU=…,DC=…'). Mos e ngatërroni këtë cmdlet me 'Remove-LocalUser', i cili është ekskluzivisht për llogaritë lokale:
Remove-ADUser -Identity 'CN=Victor,CN=Users,DC=somebooks,DC=local'
Grupet në Active Directory: Informacion dhe Anëtarësime
Për të shqyrtuar të dhënat për një grup specifik, përdorni 'Merrni-ADGroup' me emrin e grupit. Është e shpejtë të konfirmosh llojin, fushëveprimin ose atributet kryesore:
Get-ADGroup 'GrupoPrueba'
Nëse ajo që po kërkoni është të dini kush i përket për një grup dhe llojin e objektit të secilit hyrje (përdorues, grup, etj.), 'Get-ADGroupMember' ju tregon me një shikim:
Get-ADGroupMember 'GrupoPrueba'
Menaxhim masiv me CSV (lokal dhe domen)
Për porositë me shumicë, receta tipike është një CSV me tituj të qartë dhe një lak 'foreach' që përpunon çdo rresht. Lokalisht, një strukturë minimale mund të jetë 'user,password':
# usuarios.csv
user,password
usuario01,password01
usuario02,password02
Importoni skedarin dhe krijoni çdo llogari lokale duke e konvertuar fjalëkalimin në një SecureString. Ky model shmangni futjen e fjalëkalimeve në tekst të qartë në cmdlet-in e krijimit:
$lista = Import-Csv -Path 'usuarios.csv'
foreach ($i in $lista) {
$pwd = ConvertTo-SecureString $i.password -AsPlainText -Force
New-LocalUser $i.user -Password $pwd
}
në fshirje masive, vetëm një CSV me kokën 'user' dhe një lak që thërret 'Remove-LocalUser':
# borradousuarios.csv
user
usuario01
usuario02
$lista = Import-Csv -Path 'borradousuarios.csv'
foreach ($i in $lista) {
Remove-LocalUser $i.user
}
Nëse bëni të njëjtën gjë në Active DirectoryPërshtatni cmdlet-in shto/fshij dhe destinacionin (OU/Path) në strukturën tuaj. Si udhëzues, përdorni 'New-ADUser' dhe 'Remove-ADUser', dhe merrni në konsideratë parametrizimin e OU-ve, UPN-ve, licencave etj., sipas politikave tuaja.
Get-LocalUser në detaje: sintaksa, filtra dhe shembuj të dobishëm
Cmdlet-i 'Get-LocalUser' pranon dy grupe kryesore parametrash: me emër ('-Emri') dhe nga SID ('-SID'). Të dyja pranojnë vlera në proces, dhe '-Name' mbështet wildcards:
# Sintaxis esencial
Get-LocalUser <String[]>]
Get-LocalUser <SecurityIdentifier[]>]
Shembuj praktikë që do t'ju nxjerrin nga telashet brenda sekondave: me emër të saktë, për llogari e lidhur e Microsoft-it ose me SID specifik:
# Por nombre
Get-LocalUser -Name 'AdminContoso02'
# Cuenta conectada a Microsoft Account
Get-LocalUser -Name 'MicrosoftAccount\[email protected]'
# Por SID
Get-LocalUser -SID 'S-1-5-21-9526073513-1762370368-3942940353-500'
Kombinoni 'Get-LocalUser' me 'Where-Object' për të kërkime fleksibile duke përfituar nga wildcards ('*') dhe duke filtruar sipas kolonave/vetive:
Get-LocalUser | Where-Object Name -like 'Admin*' | Select-Object Name, Enabled, Description
Këshilla për produktivitet, kërkesa dhe GUI alternative
Para se të futesh në detajet më të hollësishme, mbaje ndihmën të përditësuar dhe kontrolloni versionet. Në mjedise më të vjetra si Windows Server 2012 R2, instaloni WMF 5.1 për të aksesuar cmdlet-et moderne. Do të shmangni gabime të çuditshme dhe parametra inekzistentë.
Për të gjetur cmdlet-et sipas fjalës kyçe, përdorni 'Merr Komandën' me '-Module' ose '-Name' dhe kërkoni për 'user' ose 'group' në varësi të gjuhës së mjedisit tuaj. Është një mënyrë e shpejtë për të zbuloni aftësitë pa u larguar nga konsola.
Nëse preferoni një pamje grafike pikë për pikë, hapni 'lusrmgr.msc' për të menaxhuar përdoruesit dhe grupet lokale. Nuk është aq i shkathët sa skriptimi, por mund t'ju ndihmojë të validoni ndryshimet drejtpërdrejt ose të zgjidhni një emergjencë vizualisht.
Gjithmonë mbaj mend të vërtetosh atë që bën: rishiko anëtarësimet në grup, gjendjet 'E aktivizuar/E çaktivizuar', datat e skadimit të llogarisë dhe vetia 'PasswordNeverExpires' sipas politikave të organizatës suaj.
Microsoft 365 nga PowerShell: Përmbledhje e Operacioneve Kryesore
Përtej ekipit dhe domenit, shumë administratorë menaxhojnë përdoruesit në cloud. Me PowerShell dhe Microsoft Graph, ju mundeni menaxhoni llogaritë e Microsoft 365 dhe automatizoni detyrat klasike: shtesat, fshirjet, përditësimet e atributeve, anëtarësimet në grup, menaxherët dhe menaxhimin e licencave.
Në nivel operacional, veprimet tipike përfshijnë krijoni përdorues (individualë dhe masivë), listoni të gjithë përdoruesit, përditësoni vetitë, shtoni/hiqni përdoruesit nga grupet (gjithashtu në grup), caktoni dhe anuloni licencat dhe, nëse është e nevojshme, fshini llogaritë. Qasja është e ngjashme me AD: cmdlet dhe tubacione të qëndrueshme për zinxhirin e hapave.
Për të filluar me M365, merrni në konsideratë një modul lidhjeje me qiramarrësin tuaj, role të përshtatshme dhe modele të përsëritshme: skripte të parametrizuara, skedarë CSV për ngarkime masive dhe kontrolle automatike (ekzistenca e mëparshme, licencat e disponueshme, anëtarësimet e kërkuara).
Siguria dhe praktikat më të mira gjatë menaxhimit të identiteteve
Puna me identitete kërkon kujdes: përdorni gjithmonë SecureString për fjalëkalimet, parandalon që ato të mbeten në tekst të qartë në skripte dhe depo, dhe përfshin enkriptimin e kredencialeve nëse i automatizoni ato në detyrat e planifikuara.
Zbatoni parimi i privilegjit më të vogël- Mos e ekzekutoni konsolën si administrator nëse nuk është e nevojshme, dhe kufizoni lejet e llogarisë së shërbimit dhe skripteve të automatizimit bazuar në fushëveprimin e tyre aktual, dhe merrni në konsideratë masat për të parandalon përdoruesit të instalojnë softuerë.
Nëse do të merresh seriozisht me këtë, krijo fillimisht një mjedis testimi (model/pilot) për të shmangni frikën në prodhimNë AD DS, testoni në një njësi organizative laboratorike; në ambientet tuaja, përdorni një makinë virtuale të disponueshme. Verifikoni që gjithçka funksionon dhe më pas vendoseni procedurën në prodhim.
Për auditim të shpejtë, kombinoni 'Get-ADUser -Filter *' me 'Select-Object' dhe numëroni, ose gjeneroni Raportet periodike rreth regjistrimeve të anëtarësimit, anulimeve dhe ndryshimeve. Mbajtja e kësaj fotoje të azhurnuar ju kursen shumë dhimbje koke.
Me PowerShell mund të mbuloni të gjithë ciklin Menaxhimi i përdoruesve dhe grupeve: nga llogaritë lokale me 'Microsoft.PowerShell.LocalAccounts', përmes domeneve me 'Active Directory', te Microsoft 365 me Graph/PowerShell. Shtojini të gjitha këtyre ndihmë si 'Update-Help', kërkimet me 'Get-Command' dhe filtrat e pastër në proces, dhe do të keni një rrjedhë pune të fuqishme për krijimin, pyetjet, modifikimin, kyçjen/zhbllokimin, rivendosjen e fjalëkalimeve, menaxhimin e anëtarësimeve dhe orkestrimin e ngarkimeve masive të CSV në mënyrë të sigurt dhe efikase.