Microsoft Active Directory toimii keskitettynä pisteenä hallintaa, valtuutusta ja todennusta varten. AD:ssä verkon resurssien käyttöoikeudet myönnetään suojausperiaatteille, kuten käyttäjätileille ja tietokonetileille, ja nämä käyttöoikeudet voivat muuttua ajan myötä. Yksinkertaistaakseen käyttöoikeuksien hallintaa ja parantaakseen turvallisuutta keskisuuret ja suuret yritykset käyttävät usein Active Directoryn suojausryhmiä, jotka voivat sisältää käyttäjätilejä, tietokonetilejä ja muita ryhmiä. Ne käyttävät usein myös jakeluryhmiä sähköpostin jakelulistojen hallintaan. Sekä suojaus- että jakeluryhmillä on yksilölliset suojaustunnisteet (SID) ja globaalisti yksilölliset tunnisteet (GUID).
ADUC MMC -laajennus sopii hyvin molempien ryhmätyyppien hallintaan, mutta PowerShell on paljon tehokkaampi tapa hallita niitä massoittain.
Jos et ole vielä perehtynyt AD-ryhmiin ja ryhmien hallintaan, lue Active Directory Group Management Best Practice -opas, ennen kuin jatkat eteenpäin.
Muista myös, että voidaksesi käyttää näitä PowerShell-skriptejä sinun on tuotava AD:n kanssa vuorovaikutuksessa käytettävä moduuli – Active Directory Module for Microsoft Windows PowerShell. Tämä moduuli otettiin käyttöön Windows Server 2008 R2:ssa, ja se on oletusarvoisesti käytössä Windows Server 2012:ssa ja uudemmissa versioissa. Saat täydellisen luettelon AD-moduulin komentosarjoista suorittamalla seuraavan komennon:
Get-Command -Module ActiveDirectory
Täydellinen luettelo sisältää 147 komentosarjaa, mutta vain nämä yksitoista liittyvät Active Directory -ryhmiin:
- Add-ADGroupMember
- Add-ADPrincipalGroupMembership
- Get-ADAccountAuthorizationGroup
- Get-ADGroup
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- New-ADGroup
- Remove-ADGroup
- Remove-ADGroupMember
- Remove-ADPrincipalGroupMembership
- Set-ADGroup
Aktiivihakemistoryhmän luominen PowerShellin avulla
Luot AD-ryhmän, käyttämällä New-ADGroup-senttikomentoa. Saat sen syntaksin selville suorittamalla seuraavan komennon:
Get-Command New-ADGroup –Syntax
Helpoisin tapa luoda ryhmä on suorittaa tämä lyhyt skripti:
New-ADGroup "Group Name"
Järjestelmä pyytää sinua määrittämään ”GroupScope”-parametrin, ja sitten se luo uuden ryhmän. Tällä ryhmällä on kuitenkin oletusarvot, kuten:
- Se luodaan oletusarvoiseen LDAP-säiliöön nimeltä ”Users”.
- Sen ryhmätyyppi on ”Security”.
- Kentät ”Members”, ”Member of”, ”Description”, ”Email” ja ”Notes” ovat tyhjiä.
Kuvitellaanpa, että haluaisimme luoda AD-DC:hömme turvaturvaturvaturvaryhmän nimeltä ”Quality”. Käytetään seuraavia parametreja: Sen pitäisi olla ”Production” OU:ssa (-Path), sen pitäisi olla tietoturvaryhmä (-GroupCategory) ja sen pitäisi olla maailmanlaajuinen (-GroupScope).
New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose
Jos haluat tehdä yleismaailmallisen jakeluryhmän, vaihda -GroupCategory-parametrin arvoksi ”Distribution” (Jakelu) ja -GroupScope-parametrin arvoksi ”Universal (Yleismaailmallinen)”. Voit myös muuttaa LDAP-polkua muuttamalla -Path-parametrin.
Active Directory -ryhmän poistaminen PowerShellillä
Poistaaksesi AD-ryhmän, käytä Remove-ADGroup-komentoa. Helpoin skripti siihen näyttää tältä:
Remove-ADGroup -Identity Quality
Teitä pyydetään vahvistamaan ryhmän poistaminen.
Käyttäjien ja tietokoneiden lisääminen ryhmään PowerShellillä
Käyttäjiä voi lisätä AD-ryhmään Add-AdGroupMember-komentokomennolla. Jos haluaisit esimerkiksi lisätä kaksi käyttäjää, B.Jackson ja E.Franklin, ryhmään ”Quality”, komentosarja näyttäisi seuraavalta:
Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin
Kun olet lisännyt käyttäjät suojausryhmään, voit suorittaa alla olevan komentosarjan tarkistaaksesi, että heidät on listattu jäseniksi:
Get-ADGroupMember -Identity Quality
Jos haluat lisätä käyttäjiä johonkin muuhun tietoturva- tai jakeluryhmään, kuten ”Toimialueen ylläpitäjät”, määritä -Identity-parametrin arvoksi ”Domain Admins”. Jos haluat, että yksi ryhmä on toisen ryhmän jäsen, määritä ryhmän nimi -Members-parametrin arvoksi. Sama periaate pätee tietokonetileihin, mutta sinun on lisättävä dollarimerkki ($) tietokonetilin nimen loppuun. Jos esimerkiksi haluat lisätä tietokoneen ”WKS043” ryhmään, määritä -Members-parametrin arvoksi ”WKS043$”:
Add-AdGroupMember -Identity Quality -Members WKS043$
Käyttäjän lisääminen useisiin ryhmiin
Jos haluat lisätä käyttäjän useisiin ryhmiin kerralla, suorita seuraava skripti.
"Managers","Quality" | Add-ADGroupMember -Members ` (Read-Host -Prompt "Enter User Name")
Sinua pyydetään syöttämään käyttäjänimi.
Käyttäjien lisääminen ryhmään CSV-tiedostosta
Jos haluat lisätä ryhmään suuren määrän käyttäjiä, voit määrittää heidät CSV-tiedostossa ja tuoda tiedoston sitten. Huomaa, että CSV-tiedoston käyttäjätunnusten luettelon on sisällettävä SamAccountNames sarakkeessa ”users”, kuten alla näkyy:
Käyttäjien lisääminen ryhmään CSV-tiedostosta tapahtuu suorittamalla seuraava PowerShell-skripti:
Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}
Käyttäjien kopioiminen ryhmästä toiseen
Jos haluat kopioida kaikki jäsenet yhdestä ryhmästä toiseen ryhmään, suorita seuraava skripti:
Get-ADGroupMember "Quality" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "QualityControl" -Members $_}
Käyttäjien tai tietokoneiden poistaminen ryhmästä
Poistaaksesi käyttäjän ryhmästä, käytä Remove-ADGroupMember-senttimerkkiä:
Remove-ADGroupMember -Identity Quality -Members J.Robinson
Poistaaksesi tietokonetilin ryhmästä, määritä -Members-parametrin arvoksi tietokoneen nimi, jonka lopussa on dollarimerkki ($).
Monien käyttäjätilien poistaminen ryhmästä
Helppo tapa poistaa useita käyttäjiä AD-ryhmästä on luoda CSV-tiedosto, jossa on luettelo käyttäjänimistä, ja poistaa nämä käyttäjät ryhmäobjektista tämän skriptin avulla:
Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}
Käyttäjän poistaminen kaikista ryhmistä
Poistaaksesi käyttäjän kaikista ryhmistä, suorita tämä komentosarja:
Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object { $_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false}
Huomaa, että käyttäjä menettää kaikki ryhmäjäsenyydet lukuun ottamatta ryhmää ”Verkkotunnuskäyttäjät”, joka voidaan tarvittaessa poistaa manuaalisesti.
Active Directory -ryhmien raportointi
Nyt kun tiedämme, miten monia yleisiä Active Directory -hallintatehtäviä, jotka liittyvät ryhmiin, voidaan suorittaa PowerShellin avulla, katsotaanpa, miten AD:ssä olevat ryhmät voidaan raportoida:
Voit luetella kaikki AD:ssä olevat ryhmät käyttämällä alla olevaa komentosarjaa:
Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory
Tietysti haluat myös tarkastella AD-ryhmän jäseniä ja AD-ryhmän jäsenyyden muutoksia. Tässä on linkkejä ohjeisiin näiden monimutkaisempien tehtävien suorittamiseen:
- How to Monitor Active Directory Group Membership Changes
- How to Get AD User Group Membership Reports
- How to Export Members of a Particular AD Group
- Managing OUs and Moving Their Objects with PowerShell
Conclusion
Nyt olet oppinut hallitsemaan ryhmiä ja ryhmien jäsenyyksiä aktiivisessa hakemistossa PowerShell-skriptien avulla, kokeile suorittaa joitakin ryhmien hallintatehtäviä itse. Ole kuitenkin varovainen, äläkä unohda ottaa Active Directory Recycle Bin -ominaisuutta käyttöön, jotta voit helposti ottaa muutokset takaisin, jos jokin menee pieleen. Muista, että ADUC MMC -laajennus on loistava ryhmien ja ryhmien jäsenyyden hallintaan, mutta PowerShell on paljon parempi ryhmien hallintaan irtotavarana.