PowerShell istifadə edərək Active Directory qruplarını bir istifadəçidən digərinə necə kopyalamaq olar

PowerShell istifadə edərək Active Directory qruplarını bir istifadəçidən digərinə necə kopyalamaq olar

GUI alətlərindən və ya PowerShell-dən istifadə edərək yeni Active Directory istifadəçiləri yaratmaq çətin deyil. Ancaq böyük kataloqlarda, ardıcıl xüsusi obyektlər yaratmaq, proses əl ilə edildikdə bir problem ola bilər. Kiçik bir avtomatlaşdırma ilə şablon hesabından kopyalayaraq yeni istifadəçi obyektlərinin düzgün qrup üzvlüyü və atributları ilə yaradılmasını təmin edə bilərsiniz.

New-ADUser -Name 'Fleur Wade' -SamAccountName fleurwade -AccountPassword (ConvertTo-SecureString Pas$W0rd!!12 -AsPlainText -Force) -Enabled $true

Artıq mühasibatdakı istifadəçilər üçün bir hesab şablonum var. İstifadəçi hesabları şablonunu necə fərdiləşdirmək barədə daha ətraflı məlumat üçün,

Növbəti addım şablon istifadəçisinin (hesap istifadəçisi) qrup üzvlərini sadalamaq və sonra Fleur hesabını eyni Active Directory qruplarına əlavə etməkdir. Hesab istifadəçisinin hansı qruplara aid olduğunu siyahıya almaq üçün Get-ADUser istifadə edirik. Select-Object, Add-ADGroupMember üçün tələb olunan bütün məlumatlarla yeni bir obyekt yaratmaq üçün istifadə olunur. Sonra Add-ADGroupMember, Fleur hesabını, hesab istifadəçinin üzv olduğu eyni qruplara əlavə etmək üçün istifadə olunur.

Get-ADUser -Identity accountsuser -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members fleurwade

Şablon hesabım Hesablar qrupunun üzvüdür. Fleur hesabının hesab qrupuna əlavə olunduğunu yoxlamaq üçün Get-ADUser istifadə edə bilərik:

Get-ADUser -Identity fleurwade -Properties memberof

Bütün prosesi avtomatlaşdırın

Prosesi bir az avtomatlaşdıraq, buna görə yalnız yeni bir istifadəçi adı və şifrə daxil etməliyik, qalanını isə PowerShell edir. Aşağıdakı kod istifadəçi adı və parol dəyişənləri üçün konsol pəncərəsindən məlumat daxil edir. Daha sonra New-ADUser cmdlet-in verilənName və soyad parametrləri üçün dəyərlər yaradır və $ newUser dəyişəninin dəyərini bölür.

Sonra hesab istifadəçisindən StreetAddress, City, Title, PostalCode, Office, Department və Manager xüsusiyyətlərini kopyalayan bir dəyişən ($ newattributes) yaradırıq. Daha sonra sadalanan atributları AD hesabımızdan yeni hesaba kopyalayaraq əvvəlki hissədə təyin etdiyimiz dəyişənlərə əsasən yeni bir istifadəçi hesabı yaratmaq üçün New-ADUser cmdlet çalıştırılır.

Nəhayət, istifadəçilərin üzv olduğu eyni qruplara yeni bir hesab əlavə etmək üçün Get-ADUser, Select-Object və Add-ADGroupMember istifadə edirik.

# Define variables
 
$newUser = Read-Host 'New user account (eg. Joe Blogs)'
$password = Read-Host 'Password (8-20 characters)'
$givenName = $newuser.split()[0]
$surname = $newuser.split()[1]
$newuserattributes = Get-ADUser -Identity accountsuser -Properties StreetAddress,City,Title,PostalCode,Office,Department,Manager
 
# Create a new user account
 
New-ADUser -Name $newUser -GivenName $givenName -Surname $surname -Instance $newuserattributes -DisplayName $newUser -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -ChangePasswordAtLogon $true -Enabled $true
 
# Copy group membership from template account
 
Get-ADUser -Identity accountsuser -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members $newUser

Hamısı budur! Prosesi daha da avtomatlaşdırmaq və yuxarıdakı ssenari ehtiyaclarınıza uyğun dəyişdirmək olar. Məsələn, kodu dəyişdirə bilərsiniz ki, şablon hesabı konsol pəncərəsində administrator tərəfindən təyin edilsin. Bir siyahıdan və ya verilənlər bazasından götürülmüş yeni hesablar quran bir skript də yarada bilərsiniz.

Join the discussion

Bülleten