Egy-egy AD objektum létrehozása esetén nem biztos, hogy optimális a PowerShellt használni, hiszen nagyon sok adatot meg kell adni, sokat kell gépelni. A PowerShell akkor előnyös, ha tömegesen akarunk létrehozni objektumokat, akár fájlban tárolt információk alapján.
Nézzünk pár egyszerűbb példát, különböző objektumok létrehozására:
New-ADOrganizationalUnit -Path "DC=r2,DC=dom" `
-Name "Managed Users" `
-DisplayName "Managed Users" `
-Description "Demó" `
-ProtectedFromAccidentalDeletion:$false
New-ADGroup -SamAccountName "Csoport" `
-GroupScope Global `
-Name "Csoport" `
-DisplayName "Csoport" `
-Path "OU=Managed Users,DC=r2,DC=dom" `
-Description "Demó"
Nézzünk arra példát, hogy fájlból hogyan lehet felhasználókat létrehozni. A fájl szerkezete a következő:
vn, kn, rn, beo, pw, OU
Vegetári, János, vj, üzletkötő, Pa$$w0rd, "Managed Users"
Fájdalom, Csilla, fcs, titkárnő, Pa$$w0rd, "Managed Users"
Főnök, Ferenc, ff, igazgató, Pa$$w0rd, "Managed Users"
Beosztott, Béla, bb, melós, Pa$$w0rd, "Managed Users"
Rendszer, Géza, rg, rendszergazda, Pa$$w0rd, "IT Admins"
Azaz ez egy CSV fájl, azaz vesszőkkel elválasztott értékekből képzett táblázat. Ez alapján hozom létre a felhasználókat, és még be is teszem őket egy csoportba:
Import-Csv C:\munka\users.txt | foreach-object {
New-ADUser -Name "$($_.vn) $($_.kn)" `
-DisplayName "$($_.vn) $($_.kn)" `
-AccountPassword (ConvertTo-SecureString -String $_.pw `
-AsPlainText -Force) `
-Path "OU=$($_.ou),dc=r2,dc=dom" `
-Title $_.beo `
-GivenName $_.kn `
-Surname $_.vn `
-SamAccountName $_.rn `
-UserPrincipalName "$($_.rn)@r2.dom" `
-Enabled $true `
-Description "Demó"
Add-ADGroupMember -Identity Csoport -Members $_.rn
}
Itt már megtérül a szkript összeállításába fektetett idő, hiszen sok felhasználó esetén is ez ugyanúgy működik.