PowerShell üzerinden Active Directory Kullanıcısı Eklemek


Active Directory ile kullanıcı eklemek için PowerShell arayüzünde

New-ADUser

kullanılmaktadır. Bunu biliyoruz.

Pek çok parametresi olan bu komutun söz dizimi şu şekildedir:

New-ADUser [-Name] <string> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-AccountNotDelegated <System.Nullable[bool]>] [-AccountPassword <SecureString>] [-AllowReversiblePasswordEncryption <System.Nullable[bool]>] [-AuthType {<Negotiate> | <Basic>}] [-CannotChangePassword <System.Nullable[bool]>] [-Certificates <X509Certificate[]>] [-ChangePasswordAtLogon <System.Nullable[bool]>] [-City <string>] [-Company <string>] [-Country <string>] [-Credential <PSCredential>] [-Department <string>] [-Description <string>] [-DisplayName <string>] [-Division <string>] [-EmailAddress <string>] [-EmployeeID <string>] [-EmployeeNumber <string>] [-Enabled <System.Nullable[bool]>] [-Fax <string>] [-GivenName <string>] [-HomeDirectory <string>] [-HomeDrive <string>] [-HomePage <string>] [-HomePhone <string>] [-Initials <string>] [-Instance <ADUser>] [-LogonWorkstations <string>] [-Manager <ADUser>] [-MobilePhone <string>] [-Office <string>] [-OfficePhone <string>] [-Organization <string>] [-OtherAttributes <hashtable>] [-OtherName <string>] [-PassThru <switch>] [-PasswordNeverExpires <System.Nullable[bool]>] [-PasswordNotRequired <System.Nullable[bool]>] [-Path <string>] [-POBox <string>] [-PostalCode <string>] [-ProfilePath <string>] [-SamAccountName <string>] [-ScriptPath <string>] [-Server <string>] [-ServicePrincipalNames <string[]>] [-SmartcardLogonRequired <System.Nullable[bool]>] [-State <string>] [-StreetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegation <System.Nullable[bool]>] [-Type <string>] [-UserPrincipalName <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Bu parametrelerin hepsinin zorunlu olmadığını köşeli parantez içinde belirtilmelerinden anlabiliriz. Bunun yanı sıra eksi işaretiyle yazan parametreyi yazdıysanız değerini de yazmak zorundasınız.

Mesela, -OfficePhone parametresi yazıldıysa karşılık gelecek ofis telefon numarası devamına bir boşluk bırakıldıktan sonra yazılmalıdır.

Bu parametrelerin tamamı aşağıdaki listede görülebilir.

  • Name
  • AccountExpirationDate
  • AccountNotDelegated
  • AccountPassword
  • AllowReversiblePasswordEncryption
  • AuthType
  • CannotChangePassword
  • Certificates
  • ChangePasswordAtLogon
  • City
  • Company
  • Country
  • Credential
  • Department
  • Description
  • DisplayName
  • Division
  • EmailAddress
  • EmployeeID
  • EmployeeNumber
  • Enabled
  • Fax
  • GivenName
  • HomeDirectory
  • HomeDrive
  • HomePage
  • HomePhone
  • Initials
  • Instance
  • LogonWorkstations
  • Manager
  • MobilePhone
  • Office
  • OfficePhone
  • Organization
  • OtherAttributes
  • OtherName
  • PassThru
  • PasswordNeverExpires
  • PasswordNotRequired
  • Path
  • POBox
  • PostalCode
  • ProfilePath
  • SamAccountName
  • ScriptPath
  • Server
  • ServicePrincipalNames
  • SmartcardLogonRequired
  • State
  • StreetAddress
  • Surname
  • Title
  • TrustedForDelegation
  • Type
  • UserPrincipalName
  • Confirm
  • WhatIf

Gelelim basit bir şekilde tekil kullanıcı hesabı ekleme işlemine…

PS C:\> New-ADUser -Name "Zkan Oca" -GivenName Zkan -Surname Oca -AccountPassword (ConvertTo-SecureString -AsPlainText '123456' -Force) -SamAccountName zkanoca -UserPrincipalName zkanoca@zkanoca.wordpress.com

Yukarıdaki komutta kullanıcı hesabı parolasını dünyanın en meşhur parolası olan 123456 olarak tanımladığıma dikkat edin. (:

İhtiyaca göre diğer parametreler ve karşılıkları yazılarak hesaplar oluşturulabilir.

Birkaç kişi için aynı komutu elle çalıştırmak mümkün. Ancak Bu sayı çok fazla olursa bunun için PowerShell betiklerinden faydalanmak gereklidir.

Öncelikle hesapları oluşturulacak kullanıcıların bir listesi olmalıdır. En çok CSV (Comma Seperated Values) dosyası bu işlem için kullanılmaktadır. Her satırda bir kullanıcının bilgileri olacak şekilde,

ozellik1,ozellik2,ozellik3,ozellik4,...

bir dosya metin dosyasında hazırlanır.

Hazırladığım dosya içeriği aynen şu şekildedir:

"OU","Aciklama","SamHesapAdi","Adi","Soyadi","Parola","GorunenAd","TamAdi"
"OU=Satış,OU=Satış ve Pazarlama,OU=zkanoca,DC=wordpress,DC=com","Satış ve Pazarlama Departmanı Şefi","110122006","Can","Kan","123456","Can KAN","Can KAN"
"OU=Pazarlama,OU=Satış ve Pazarlama,OU=zkanoca,DC=zkanoca,DC=com","Satış ve Pazarlama Uzmanı","134322041","Berk","Siyah","654321","Berk Siyah","Berk SİYAH"
"OU=Halkla İlişkiler,OU=zkanoca,DC=wordpress,DC=com","Halkla İlişkiler Departmanı Şefi","190212053","Bilge","KAAN","135246","Bilge KAAN","Bilge KAAN"

Bu şekilde içeriğe sahip bir CSV dosyasından gerekli bilgileri okuduktan sonra kullanıcı hesaplarını tek tek oluşturmak mümkündür.

PowerShell ISE veya başka bir metin düzenleyicisi (NotePad++ bir harika) ile .ps1 uzantılı PowerShell Script dosyası oluşturarak PowerShell konsolunda çalıştırabilirsiniz. Tertemiz kod olur. Hata gidermesi rahat olur.

Diyelim ki c:\liste.csv dosyası mevcut. Bu liste içindeki bilgileri okuyarak kullanıcı ekleyen betiğimiz şu şekilde olabilir:

$kullanicilar = Import-Csv -Path "C:\liste.csv"            

foreach ($kullanici in $kullanicilar)            
{
    $GorunenAd = $kullanici.Adi + " " + $kullanici.Soyadi   
    
    $kullaniciAdi = $kullanici.Adi        
    
    $kullaniciSoyadi = $kullanici.Soyadi    
    
    $OU = $kullanici.OU   
    
    $SAM = $kullanici.SamHesapAdi      
        
    $Aciklama = $kullanici.Aciklama      
    
    $Parola = $kullanici.Parola
    
    New-ADUser -Name "$GorunenAd" -DisplayName "$GorunenAd" -SamAccountName $SamHesapAdi -GivenName "$kullaniciAdi" -Surname "$kullaniciSoyadi" -Description "$Aciklama" -AccountPassword (ConvertTo-SecureString $Parola -AsPlainText -Force) -Enabled $true -Path "$OU" -ChangePasswordAtLogon $true     
} 

Bu şekilde sözdizimi genişletilebilir, değiştirilebilir. Daha fazla sorunuz varsa yoruma yazabilirsiniz. Ben de çok fazla bilmiyorum aslında. Sadece bildiğim kadarını burada paylaşıyorum.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s