İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.




Fırat Boyan 15.01.2023 3

Active Directory'de PowerShell Script İle Toplu Kullanıcı Nesneleri Oluşturma

Active Directory ortamında toplu User nesneleri eklemek, özellikle büyük organizasyonlarda kullanıcı yönetimini optimize eden bir süreçtir. Bu işlem, PowerShell Script kullanarak otomatikleştirildiğinde, yönetimsel verimlilikte önemli bir artış sağlar. PowerShell, Active Directory'nin yönetiminde Script tabanlı bir yaklaşım sunarak, kullanıcı ekleme, güncelleme ve yönetim süreçlerini büyük ölçüde hızlandırır. Toplu kullanıcı ekleme işlemi için öncelikle bir CSV dosyası hazırlanır. Bu dosya, UserPrincipalName, GivenName, Surname, ve Department gibi kullanıcı bilgilerini içerir. CSV dosyası, her satırda bir kullanıcıya ait bilgileri barındıracak şekilde yapılandırılır. Bu dosya, kullanıcı verilerinin toplu işlenmesi için temel bir veri kaynağıdır.

PowerShell, bu CSV dosyasını okuyarak her kullanıcı için gerekli Active Directory komutlarını çalıştırır. Kullanıcıların doğru Organizational Unit (OU) içerisinde yer alması, Active Directory organizasyonel yapısının korunması açısından kritiktir. Kullanıcılar eklenirken, her birinin uygun Organization Unit (OU) içerisinde yer aldığından emin olunmalıdır. Bu sayede, kullanıcı yönetimi daha düzenli ve kontrollü bir şekilde gerçekleştirilebilir. Kullanıcı ekleme sürecinde, PowerShell'in sunduğu esnek yapı sayesinde, çeşitli kullanıcı özellikleri de eklenebilir. Örneğin, kullanıcıların e-posta adresleri, telefon numaraları ve diğer ilgili bilgiler Script içerisinde tanımlanabilir. Bu detaylar, kullanıcıların Active Directory içerisinde tam ve eksiksiz bir profil ile yer almasını sağlar.

Active Directory'de toplu kullanıcı ekleme işlemi sırasında, kullanıcı hesaplarının aktif olup olmadığının kontrol edilmesi ve gerekli izinlerin doğru bir şekilde atanması da önemlidir. Bu süreçte, kullanıcıların parolalarının belirlenmesi ve hesaplarının etkinleştirilmesi gibi güvenlik adımları da atılmalıdır. PowerShell'in sunduğu detaylı komut setleri sayesinde, bu güvenlik adımları otomatikleştirilebilir ve standart hale getirilebilir. Active Directory'de toplu kullanıcı ekleme işlemi, PowerShell'in güçlü Script özellikleri sayesinde büyük ölçekli kullanıcı yönetimini daha etkin hale getirir. Bu yöntem, manuel kullanıcı ekleme işlemlerinde sıkça karşılaşılan hataların önüne geçerek, veri doğruluğunu artırır ve iş süreçlerini hızlandırır. Active Directory ortamında PowerShell kullanımı, sadece kullanıcı ekleme işlemleri için değil, aynı zamanda genel yönetim ve bakım süreçleri için de büyük avantajlar sunar.

Sonuç olarak, PowerShell kullanarak Active Directory'de toplu User (kullanıcı) nesnesi eklemek, organizasyonların IT yönetim süreçlerinde önemli bir verimlilik sağlar. Bu teknik yaklaşım, kullanıcı yönetimini otomatikleştirerek, zaman ve iş gücü tasarrufu sunar, aynı zamanda veri bütünlüğünü ve güvenliğini artırır. PowerShell'in sunduğu geniş komut seti ve esneklik, Active Directory yönetiminde vazgeçilmez bir araç olmasını sağlar.

Excel İle Veri Dosyası Hazırlama

Toplu bir şekilde User (kullanıcı) nesneleri oluşturmak için Microsoft Office uygulamalarından Microsoft Excel uygulamasını kullanacağım. Excel uygulaması kullanarak toplu User (kullanıcı) nesneleri oluşturmak, süreci daha verimli ve kullanıcı dostu hale getirir. Microsoft Excel, veri girişini kolaylaştıran ve organize eden güçlü bir araçtır. Excel’de verileri hazırlamak ve düzenlemek, kullanıcıların toplu işlemleri daha etkin bir şekilde yönetmesini sağlar. Ayrıca Excel'de hazırlanan veriler, kolayca CSV formatına dönüştürülebilir. Excel, verileri CSV formatına doğru ve düzenli bir şekilde aktarma yeteneğine sahiptir. Bu işlem, birkaç tıklama ile tamamlanabilir ve veriler doğru formatta dışa aktarılabilir. Excel’de verilerinizi hazırladıktan sonra, dosyayı CSV formatında kaydetmek, verilerin Active Directory gibi sistemlere aktarılmasını kolaylaştırır. CSV formatı, düz metin dosyası olarak veri saklama ve aktarma için yaygın olarak kullanılır. Bu format, PowerShell gibi araçlarla kolayca işlenebilir ve toplu kullanıcı ekleme işlemlerinde etkin bir şekilde kullanılabilir.

Toplu bir şekilde User (kullanıcı) nesneleri oluşturmak için öncelikli olarak oluşturacağım User (kullanıcı) nesnelerinin Attribute bilgilerini, Import-Bulk-Users.xlsx olarak isimlendirdiğim Microsoft Excel uygulaması içinde aşağıda detaylarına değindiğim uygun başlıklar altında yazmam gerekiyor.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Toplu bir şekilde User (kullanıcı) nesneleri oluşturmak için Microsoft Excel içinde kullandığım başlıklara ait bilgiler aşağıda gibidir.

» Name: Kullanıcının tam adı bilgisidir. Active Directory'de bu alan, kullanıcının kimlik doğrulama süreçlerinde ve diğer kullanıcılarla etkileşimlerinde kullanılır. Kullanıcı adı, genellikle sistemdeki diğer ad alanlarıyla uyumlu olmalıdır ve çoğu zaman DisplayName ile aynıdır. Bu alan, kullanıcıyı hem insan gözüyle hem de sistemde benzersiz bir şekilde tanımlamak için kullanılır.

» SamAccountName: Kullanıcının oturum açmak için kullanacağı hesap adı bilgisidir. Bu ad, Active Directory'de her kullanıcı için benzersiz olmalıdır ve genellikle kısa bir kimlik belirtecidir. SamAccountName, özellikle eski Windows NT tabanlı sistemlerle uyumluluğu sağlamak için 20 karakter ile sınırlıdır. Ayrıca, bu alan NTLM kimlik doğrulama protokollerinde de kullanılır.

» GivenName: Kullanıcının ilk adı bilgisidir. Active Directory'de bu alan, genellikle kullanıcı profilleri, e-posta adresleri ve diğer iletişim bilgileri oluşturulurken kullanılır. Ayrıca, kullanıcıların aranabilirliğini ve tanımlanabilirliğini artırır.

» Surname: Kullanıcının soyadı bilgisidir. Bu alan, diğer ad alanlarıyla birlikte kullanıcının tam kimliğini belirlemek için kullanılır. Soyadı, özellikle büyük organizasyonlarda aynı adı taşıyan kullanıcıları ayırt etmek için kritik öneme sahiptir.

» Initials: Kullanıcının baş harfleri bilgisidir. Genellikle tam ad ile birlikte veya kısaltmalar oluşturmak için kullanılır. Bu alan, e-posta adreslerinde, kullanıcı adı oluşturulurken veya raporlama süreçlerinde kullanılabilir.

» DisplayName: Kullanıcının Active Directory ve diğer sistemlerde görünen adı bilgisidir. DisplayName, genellikle tam adını içerir ve kullanıcının sistemdeki diğer kişiler tarafından kolayca tanınmasını sağlar. Bu alan, özellikle kullanıcı listeleri, adres defterleri ve kişi kartlarında önemli rol oynar. DisplayName, sistem yöneticileri ve diğer kullanıcılar tarafından kolay tanımlanabilir bir ad sunar ve kullanıcı profillerinin görsel olarak tanımlanmasını sağlar.

DisplayName, Name ve GivenName ile karşılaştırıldığında, belirli farklılıklara sahiptir:

Name: Active Directory'de kullanıcıların kimlik doğrulama ve tanımlama süreçlerinde kullanılır. Genellikle kullanıcının tam adı olarak belirlenir ve benzersiz olmalıdır. Sistemsel işlemler ve kimlik doğrulama protokollerinde kullanılır.

GivenName: Kullanıcının ilk adı bilgisidir ve genellikle iletişim bilgileri, e-posta adresleri ve kullanıcı profilleri için kullanılır. 

DisplayName: Kullanıcının sistemde görünen adı olup, diğer kullanıcılar ve sistem yöneticileri tarafından kolayca tanınmasını sağlar. Genellikle tam adı içerir ve kullanıcı profillerinin ve listelerinin görsel olarak tanımlanmasında kullanılır.

» UserPrincipalName (UPN): Kullanıcının oturum açmak için kullandığı tam ad bilgisidir. Bu bilgi, örneğin firat.boyan@domain.local ya da firat.boyan@domain.com e-posta adresi formatında olup, kullanıcıların kolayca hatırlayabileceği bir kimlik sağlar. Universal Principle Name (UPN), Kerberos kimlik doğrulama protokolünde kullanılır ve kullanıcıların bulut tabanlı hizmetlere erişimini sağlar.

» Department: Kullanıcının çalıştığı departman bilgisidir. Organizasyon içindeki kullanıcıların hangi birimlerde çalıştığını belirtir ve departman bazlı yönetim ve politikalar için kullanılır. Bu alan, özellikle büyük organizasyonlarda kullanıcıları organize etmek ve departman bazında raporlama yapmak için kullanılır.

» Description: Kullanıcı hakkında ek bilgiler içerir. Bu alan, kullanıcının görev tanımı, sorumlulukları veya diğer açıklayıcı bilgileri içerebilir. Active Directory'de Description alanı, kullanıcı hakkında daha fazla bilgi sağlamak ve özel notlar eklemek için kullanılır.

» Office: Kullanıcının çalıştığı ofis veya fiziksel yerleşim yeri bilgisidir. Bu alan, kullanıcının ofis lokasyonunu belirtir ve kullanıcıların fiziksel konumlarını belirlemek için kullanılır. Özellikle çok lokasyonlu organizasyonlarda ofis bazlı yönetim sağlamak için kritiktir.

» OfficePhone: Kullanıcının ofis telefonu numarası bilgisidir. İletişim bilgilerini güncel tutmak ve kullanıcılarla kolay iletişim kurmak için kullanılır. Bu alan, genellikle şirket içi telefon rehberlerinde ve iletişim listelerinde yer alır.

» EmailAddress: Kullanıcının e-posta adresi bilgisidir. Bu alan, kullanıcının e-posta iletişimini sağlar ve genellikle UserPrincipalName ile aynı olabilir. E-posta adresi, kullanıcıların iç ve dış iletişim kurmalarını sağlamak için temel bir iletişim aracıdır.

» StreetAddress: Kullanıcının sokak adresi bilgisidir. Bu alan, kullanıcının fiziksel adres bilgilerini içerir ve posta gönderimleri gibi işlemler için kullanılır. Adres bilgileri, kullanıcı profillerinde ve şirket rehberlerinde yer alabilir.

» POBox: Kullanıcının posta kutusu numarası bilgisidir. Fiziksel posta gönderimleri için ek bir adres bilgisi sağlar. POBox alanı, posta gönderimlerinin doğru ve zamanında yapılabilmesi için kritik olabilir.

» City: Kullanıcının yaşadığı veya çalıştığı şehir bilgisidir. Bu alan, adres bilgilerini tamamlar ve coğrafi konum bilgisi sağlar. Kullanıcıların şehir bilgileri, özellikle bölgesel raporlama ve analizler için kullanılabilir.

» State: Kullanıcının yaşadığı veya çalıştığı eyalet veya bölge bilgisidir. Adres bilgilerini detaylandırmak için kullanılır. Eyalet veya bölge bilgileri, kullanıcının tam adresini belirlemek ve coğrafi organizasyon sağlamak için önemlidir.

» Country: Kullanıcının yaşadığı veya çalıştığı ülke bilgisidir. Uluslararası adres bilgilerini sağlar ve coğrafi yönetim için kullanılır. Ülke bilgisi, kullanıcıların ulusal bazda organize edilmesi ve yönetilmesi için kullanılır.

» PostalCode: Kullanıcının posta kodu bilgisidir. Bu alan, adres bilgilerini tamamlar ve doğru posta gönderimleri için gereklidir. Posta kodu, kullanıcıların tam adresinin belirlenmesi ve gönderimlerin yönlendirilmesi için kritik bir bilgidir.

» Title: Kullanıcının iş unvanı bilgisidir. Bu alan, kullanıcının organizasyon içindeki pozisyonunu belirtir ve rol bazlı yönetim için kullanılır. İş unvanı, kullanıcıların sorumlulukları ve yetkileri hakkında bilgi verir.

» Company: Kullanıcının çalıştığı şirket veya iş yeri bilgisidir. Bu alan, organizasyonun kullanıcı bazında hangi şirket veya birim altında olduğunu belirtir. Şirket bilgisi, kullanıcıların organizasyon yapısında doğru bir şekilde yer almasını sağlar.

» Password: Kullanıcının hesap parolası bilgisidir. Bu alan, hesabın güvenliğini sağlamak ve oturum açma işlemleri için kullanılır. Parola bilgisi, kullanıcı hesaplarının güvenliğini sağlamak için şifre politikaları ile uyumlu olmalıdır.

» Path: Kullanıcının Active Directory içinde bulunacağı Organizational Unit (OU) yolu bilgisidir. Bu alan, kullanıcının hangi OU içinde yer alacağını belirler ve yönetimsel organizasyon için kullanılır. OU yolu, kullanıcıların hiyerarşik olarak doğru birimlerde yer almasını sağlar.

Excel dosyamdaki Path bilgisi, User (kullanıcı) nesnelerinin belirli bir Organization Unit içinde oluşturulmasını sağlayacağı için DN (Distinguished Name) formatında ve doğru bir şekilde, tam yol adı ile belirtilmesi gerekmektedir.

Örneğin,

OU=Users,OU=IT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

şeklinde bir Path bilgisi, kullanıcının IT departmanındaki Users Organization Unit'de oluşturulacağını belirtir. User (kullanıcı) nesnelerinin hangi Organization Unit içinde oluşturulacağını belirlemek için, PowerShell komutları yardımıyla bu Organization Unit'lerin DN (Distinguished Name) bilgilerini öğrenmemiz gerekiyor. Aşağıda kullandığım komutları, kendi Active Directory Organization Unit hiyerarşik yapısına göre kullandım. Bu sebeple siz de kendi endi Active Directory Organization Unit hiyerarşik yapınıza gerekli değişiklikleri yapmalısınız.

Komut-1:

Get-ADOrganizationalUnit -Filter 'Name -like "*"' | FT Name, DistinguishedName -A

Bu komut, Active Directory'deki tüm Organizational Unit (OU) nesnelerini listeler. Bu sayede Active Directory yapınızın genel bir görünümünü sağlar ve hangi OU'ların mevcut olduğunu hızlıca görmenizi sağlar. Böylece, yapıdaki tüm OU'ları keşfedebilir ve bunların DN bilgilerini öğrenebilirsiniz.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Komut-2:

Get-ADOrganizationalUnit -Filter 'Name -like "*"' | where {$_.Name -like "*Department*"} | FT Name, DistinguishedName -A

Bu komut, tüm OU'ları listeledikten sonra, OU ismi Department kelimesini içeren OU'ları filtreler. where {$_.Name -like "*Department*"} ifadesi, ismi belirli bir şablonu eşleşen Organizational Unit (OU) bilgilerini seçer. Bu komutun amacı, özellikle departmanlarla ilgili OU'ları listelemek ve bunların DN bilgilerini görmek için kullanılır. Bu, organizasyon yapısındaki departmanların hızlıca tespit edilmesine olanak tanır ve bu departmanlara ait kullanıcı nesnelerinin doğru yerlere eklenmesini sağlar.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Komut-3:

Get-ADOrganizationalUnit -SearchBase 'OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local' -SearchScope OneLevel -Filter * | FT Name, DistinguishedName -A

Bu komut, OU=Ist-All-Departments konumu altında bulunan doğrudan alt Organizational Unit'lerin isimlerini ve Distinguished Name'lerini tablo formatında listeler.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Bu komutun bileşenleri şu şekildedir:

1. Get-ADOrganizationalUnit: Active Directory'deki Organizational Unit'leri almak için kullanılan cmdlet.

2. -SearchBase OU=Ist-All-Departments...: Aramanın başlayacağı yeri belirler. Bu durumda, Ist-All-Departments OU'sundan başlar ve yukarı doğru belirtilen hiyerarşiyi izler.

3. -SearchScope OneLevel: Sadece belirtilen SearchBase konumunun doğrudan altındaki OU'ları arar. Yani, sadece bir seviye derinlikteki Organizational Unit'leri döndürür, altındaki alt Organizational Unit'leri içermez.

4. -Filter *: Tüm Organizational Unit'leri filtreler.

5. | FT Name, DistinguishedName -A: FT ile sonuçları, tablo formatında gösterip; Name ile OU isimlerini, DistinguishedName ile de Distinguished Name (DN) bilgilerini gösterecek şekilde düzenler. -A ile de her sütunun hizalanmasını sağlar. Buradaki -A, -Autosize parametresinin kusaltılmışdır.

OU=HR,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=IT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=MGMT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=OPS,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=RD,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Komut-4:

Get-ADOrganizationalUnit -SearchBase 'OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local' -SearchScope Subtree -Filter "Name -like 'Users*'" | FT Name, DistinguishedName -A

Bu komut, belirtilen konum ve altındaki tüm Organizational Unit'ler içinde adı Users ile başlayanların isimlerini ve Distinguished Name (DN) bilgilerini tablo formatında listeler.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Bu komut şu şekilde çalışır:

1. Get-ADOrganizationalUnit: Active Directory'deki Organizational Unit'leri almak için kullanılan cmdlet.

2. -SearchBase OU=Ist-All-Departments...: Aramanın başlayacağı yeri belirler. Bu durumda, Ist-All-Departments OU'sundan başlar ve yukarı doğru belirtilen hiyerarşiyi izler.

3. -SearchScope Subtree: Belirtilen SearchBase konumunun tamamında, yani tüm alt seviyelerde arama yapar. Subtree arama kapsamı, belirtilen konumun altındaki tüm Organizational Unit'leri içerir.

4. *-Filter "Name -like 'Users*'": Adı Users ile başlayan tüm Organizational Unit'leri filtreler. Bu filtre, sadece adı Users ile başlayan OU'ları getirir.

-SearchScope Subtree ve -Filter "Name -like 'Users*'" arasındaki bağlantı şu şekildedir:

SearchScope Subtree parametresi, aramanın belirtilen SearchBase konumunun tamamında, yani tüm alt Organizational Unit'lerde yapılmasını sağlar. Bu, hiyerarşide derinlemesine bir arama yapıldığı anlamına gelir.

• Filter "Name -like 'Users*'" parametresi, arama kapsamındaki tüm Organizational Unit'ler arasında, adı Users ile başlayanları filtreler. Bu kombinasyon, belirtilen SearchBase konumu altındaki tüm seviyelerde (Subtree) adı "Users" ile başlayan tüm Organizational Unit'leri arar ve bunları filtreler.

5. | FT Name, DistinguishedName -A: FT ile sonuçları, tablo formatında gösterip; Name ile OU isimlerini, DistinguishedName ile de Distinguished Name (DN) bilgilerini gösterecek şekilde düzenler. -A ile de her sütunun hizalanmasını sağlar. Buradaki -A, -Autosize parametresinin kusaltılmışdır.

OU=Users,OU=IT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=Users,OU=HR,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=Users,OU=RD,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=Users,OU=OPS,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local
OU=Users,OU=MGMT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local


PowerShell komutlarıyla edindiğim Organization Unit'lere ait Distinguished Name (DN) bilgilerini, ilgili Organizational Unit (OU) üzerinde sağ tıklayarak Properties seçeneğini seçip, açılan pencerede Attribute Editor sekmesi altındaki distinguishedName Attribute içeriğinden de öğrenebilirsiniz.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Bu detaylı başlıklar, kullanıcıların Active Directory'ye eksiksiz ve doğru bir şekilde eklenmesini sağlar. Her bir başlık, kullanıcı profillerinin tam ve doğru olmasını temin eder, bu da yönetim ve kullanıcı bilgilerinin güncel ve organize olmasını sağlar. PowerShell Script kullanarak bu bilgileri işlemek, büyük ölçekli kullanıcı yönetimi süreçlerinde verimlilik sağlar.

CSV Dosyası Hazırlama

Import-Bulk-Users.xlsx olarak isimlendirdiğim Microsoft Excel dosyası içinde toplu olarak oluşturacağım User (kullanıcı) nesnelerinin Attribute bilgilerini girdikten sonra bu Excel dosyasını, CSV UTF-8 formatına dönüştüreceğim.

Excel dosyamdaki verileri CSV UTF-8 formatında kayderek, karakterlerin doğru bir şekilde saklanmasını ve işlenmesini sağlamış olacağım. Bu, özellikle Türkçe karakterler içeren kullanıcı adı bilgileri için kritik öneme sahiptir. UTF-8 kodlaması, verilerinizin her zaman doğru ve okunabilir olmasını garanti eder ve farklı sistemlerle uyumluluğunu sağlar. Bu nedenle, Excel'de hazırlanan verilerin CSV UTF-8 formatında kaydedilmesi, verilerin doğruluğunu ve bütünlüğünü korumak için en uygun yöntemdir. Çünkü Excel dosyamdaki kullanıcı adı bilgileri Türkçe alfabedeki özel karakterler içerdiği için, CSV UTF-8 formatında kaydetmek oldukça önemlidir. Bu formatın temel avantajı Unicode desteğidir. Ayrıca Unicode karakter seti, Türkçe gibi Latin alfabesi dışında ç, ı, ğ, ö, ş, ü gibi karakterler içeren dillerdeki özel harflerin doğru bir şekilde temsil edilmesini sağlar.

Ek olarak PowerShell, Excel, Active Directory ve diğer veri işleme araçları, UTF-8 kodlamasını sorunsuz bir şekilde işleyebilir. Bu geniş uyumluluk, verilerin farklı sistemler arasında taşınmasını ve entegrasyonunu kolaylaştırır.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Hazırlamış olduğum CSV uzantılı dosyamı referans alacak olan Import-Bulk-Users.ps1 isimli Script dosyasında CSV dosyasındaki başlık alanlarına karşılık gelecek değişkenler atanmıştır. CSV ya da Script dosyasında bir değişiklik yapacağınız zaman, her iki dosya içinde de tutarlı bir şekilde birbirlerine karşılık gelecek şekilde yapmanız gerekmektedir.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Script Dosyası İle Çalışma

1- Gerekli hazırlıklar tamamlandıktan sonra sıra, CSV ve PS1 uzantlı dosyaların Domain Controller manikamızda ugun bir dizine konumlandırılmasına geldi. Ben, elimdeki CSV ve PS1 uzantlı dosyaları C:\PS\BULK USERS dizini altında kaydettim.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

2- İlgili dosyaları dilediğiniz bir dizine kopyaladıktans sonra ilgili Script dosyası içinde dikkat edilmesi gereken önemli bir nokta, CSV dosyasını kopyaladığınız dizini, Script dosya adı ve uzantısı ile tam olarak Script dosyasında da belirtmeniz gerekmektedir.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

3- Son işlem olarak, PowerShell konsolundan CSV ve PS1 uzantlı dosyaların bulunduğu dizine geçiş yaparak, ilgili PowerShell Script'i çağırmak ve Script'i çalıştırmak olacaktır.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

4- Eğer CSV dosyasındaki User (kullanıcı) nesneleri daha önceden oluşturulmamışsa, yani ilk kez oluşturuluyorsa, işlem sırasında Ör. "The user account firat.boyan is created" şeklinde bir bir bildirim yazısı çıkacaktır. gibi bilgilendirme mesajları çıkacaktır.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

5- Sırasıyla tüm ilgili Organization Unit'leri kontrol ettiğimde CSV dosyasındaki tüm User (kullanıcı) nesnelerininin oluşturulduğunu görebiliyorum.

OU=Users,OU=HR,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

OU=Users,OU=IT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

OU=Users,OU=MGMT,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

OU=Users,OU=OPS,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

OU=Users,OU=RD,OU=Ist-All-Departments,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local

Active Directory Toplu Kullanıcı Nesneleri Oluşturma
Active Directory Toplu Kullanıcı Nesneleri Oluşturma

6- Eğer CSV dosyasındaki User (kullanıcı) nesneleri daha önceden oluşturulmuşsa, yani ilgili User (kullanıcı) nesneleri zaten Active Directory içinde mevcutsa, işlem sırasında Ör. "WARNING: A user account with username firat.boyan already exists in Active Directory." gibi bilgilendirme mesajları çıkacaktır. Dilerseniz bu bildirim yazılarını Türkçe olacak şekilde değiştirebilirsiniz.

Active Directory Toplu Kullanıcı Nesneleri Oluşturma

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.

2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.

Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.

YORUMLAR
Bu makaleye 3 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

   
   
  750 karakter yazabilirsiniz.
 
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


24.09.2024 Şerif Selen
Aynı düzende yaptığımda parolalar sayısal değer sadece ama oluşturduktan sonra kontrol ettiğimde şifresi csv de belirttiğim şifre olarak oluşturmamıştı. Parolayı nasıl halledebilirim?

24.09.2024 Şerif Selen
Teşekkür ederim.

24.09.2024 Fırat Boyan
Yine CSV'den okutacağın bir script yardımıyla yapabilirsin. Alternatif olarak DS komutlarından Dsmod komutları ile yapabilirsin.