Active Directory’de Toplu Kullanıcı Oluşturma

Active Directory’de yeni kullanıcı eklemenin IT ekibinde bulunan bir personel için herhangi bir zorluğu yoktur. Fakat eklenecek kullanıcı sayısı çok fazla ise bu işlem IT ekibine büyük bir iş yükü getirmektedir. Bu nedenle belirli bir listede bulunan kullanıcıların toplu olarak oluşturabilmesi için hazırlanacak bir PowerShell Script, IT ekibinin işini oldukça kolaylaştıracaktır.

Active Directory’de toplu kullanıcı oluşturma işlemini hızlı bir şekilde yapabilmemiz için aşağıdaki dosyalara ihtiyacımız vardır.

1. Users.csv

Bu dosya aşağıdaki şekilde oluşturulmalıdır.

Yeni bir Excel Çalışma Sayfası açılır ve aşağıdaki formatta girişler yapılır.

01

Bu liste Dosya -> Farklı Kaydet seçilerek CSV (Virgülle Ayrılmış) (*.csv) uzantısıyla kaydedilir. Eğer bilgiler türkçe karakter içeriyorsa bu karakterlerin sorunsuz kaydedilmesi için CSV UTF-8 (Virgülle Ayrılmış) (*.csv) uzantısı ile kaydedilmesi gerekir.

02

Aşağıdaki uyarıya Evet denilerek kaydetme işlemi tamamlanır.

Active Directory_de Toplu Kullanıcı Oluşturma-03

Oluşturulan .csv uzantılı dosya Notepad ile açıldığında aşağıdaki formatta olması gerekmektedir.

03

2. CreateUser.ps1

Kullanıcı oluştururken kullanılacak PowerShell Script dosyasının içeriği aşağıdaki gibidir.

Import-Module ActiveDirectory $Users = Import-Csv -Delimiter ";" -Path ".\Users.csv" 

foreach ($User in $Users) 
{ 
$OU = "OU=NewUsers,OU=EMRES,DC=emres,DC=com" 
$Password = $User.Password 
$UserFirstname = $user.GivenName 
$FirstLetterFirstname = $UserFirstname.substring(0,1) 
$UPN = $User.SamAccountName + "@" + $User.Domain 

New-ADUser -Name $User.DisplayName -SamAccountName $User.SamAccountName -Description $User.Description -UserPrincipalName $UPN -DisplayName $User.DisplayName -GivenName $User.GivenName -Surname $User.SurName -EMailAddress $User.Mail -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path $OU }

PowerShell Script üzerinde dikkat edilecek nokta kullanıcıların hangi OU altında oluşturulacağıdır. Kullanıcıların oluşturulacağı OU scriptin 5. satırında belirtilmiştir.

   $OU = "OU=NewUsers,OU=EMRES,DC=emres,DC=com"

Bu PowerShell Script ile oluşturulan kullanıcılarda eklenen alanlar aşağıdaki gibidir :

  • Name
  • SamAccountName
  • Description
  • UserPrincipalName
  • DisplayName
  • GivenName
  • Surname
  • EmailAddress

Users.csv dosyasına sütun olarak eklenip PowerShell Script’te de ilgili yerlere eklenerek otomatik olarak kullanıcı bilgilerine eklenenebilecek bilgilerin tamamı ise aşağıdaki gibidir :

  • 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

Bu iki dosya da hazırlandıktan sonra dosyalar tek bir klasöre taşınıp script yönetici haklarıyla çalıştırılır.

04
05

Böylece Active Directory ortamında bir kullanıcı listesi hazırlanarak toplu kullanıcı oluşturma işlemi tamamlanmış olur.

06

Faydalı olması dileğiyle…

 

 

Active Directory’de Toplu Kullanıcı Oluşturma” için 7 yorum

  1. Merhaba,

    Attribute bölümüne tckimlikno ekledik. Fakat toplu kullanıcı açmak istediğimizde tckimlikno alanına veri girişinde hata vermektedir. Bu konuda yardımcı olabilir misiniz

    Beğen

      1. Merhaba,

        Buraya ekran görüntüsü atamadığım için iletişimde yer alan mail adresinize nerede hata yaşadığımın ekran görüntülerini attım.

        Beğen

        1. Merhabalar,

          Kullanıcı oluşturulurken değer eklemeye çalıştığınız attribute, şema genişletilmesi ile sonradan oluşturulan özel bir attribute’tur. Bu nedenle bu özel attribute’e (tCKimlikNo) veri eklenebilmesi için parametreyi

          -tCKimlikNo $User.TCKN

          yerine

          -OtherAttributes @{‘tCKimlikNo’ = $User.TCKN}

          şeklinde girip tekrar deneyebilir misiniz?

          Beğen

          1. Merhaba,

            Yukarıda verdiğiniz -OtherAttributes @{‘tCKimlikNo’ = $User.TCKN} kod ile sorun çözüme kavuştu.

            Teşekkür ederim.

            Beğen

  2. Hocam , Bu kodu çalıştırıyorum fakat hata veriyor.

    Import-Module ActiveDirectory $Users = Import-Csv -Delimiter “;””-Path “.\deneme.csv”

    foreach ($User in $Users)
    {
    $OU = “OU=KULLANICI,OU=ESKAVALVE,DC=ESKAVALVE,DC=LOCAL”
    $Password = $User.Password
    $UserFirstname = $user.GivenName
    $FirstLetterFirstname = $UserFirstname.substring(0,1)
    $UPN = $User.sAMAccountName + “@” + $User.Domain

    New-ADUser -Name $User.DisplayName -sAMAccountName $User.sAMAccountName -Description $User.Description -UserPrincipalName $UPN -DisplayName $User.DisplayName -GivenName $User.GivenName -Surname $User.SurName -EMailAddress $User.Mail -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path $OU }

    Beğen

    1. Merhabalar,

      Çalıştırdığınız scriptte sorun tırnak işaretlerinde gözüküyor. Scripti PowerShell ISE aracılığıyla hazırlarsanız script daha sağlıklı çalışacaktır.

      Yine de hata alırsanız hatanın ekran alıntısını iletebilir misiniz?

      Beğen

Hasan Emre SATILMIŞ için bir cevap yazın Cevabı iptal et

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. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s