Microsoft Server

Active Directory’de toplu (Attribute) güncelleme nasıl yapılır?

Merhaba Arkadaşlar,

Bu yazımızda Active Directory kullanıcılarında toplu güncelleme üzerine durmaya çalışacağız ancak kodlar tarafında destek olan Ayvaz Öztürk hocama teşekkür ederim, onun sayesinde 225 kişinin bilgilerini tek tek girip hem içerideki sunucularla olan LDAP bağlantısı hem de 365 tarafındaki Disclaimer için gerekli bilgileri güncellemek için uğraşmadık.

İsterseniz hemen nasıl yaptığımıza bir bakalım. Bütün işlemlerimizi örnek resimde olduğu gibi bir test kullanıcısında yapacağız.

Görüleceği üzere hiçbir alan dolu değil. İstersek Attribute Editor sekmesinden de gösterebilirdik ancak tek tek ilgili sekmelerdeki alanların boş olduğunu aşağıda rahatlıkla görebiliriz.

Bir EXCEL sayfası açıp değişiklikleri yapmak istediğimiz alanların isimlerini yazıyoruz. Bunların neler olduğunu ve karşılığını Attribute Editor’de görebileceğimiz gibi aşağıdaki linklerde de görebiliriz.

https://activedirectorypro.com/ad-ldap-field-mapping/

https://docs.classic.secureauth.com/display/KBA/Active+Directory+Attributes+List

Ben başta da dediğim gibi hem içerideki sunucularla LDAP hem de 365 Disclaimer için gerekli olan verileri gireceğimden ve ünvanlarda İngilizce ünvan da kullanılacağından biraz fazla alan kullanmaktayım.

Kullanacağım alanlar ve ne için kullanılacağı şu şekildedir.

SamAccountName – kullanıcının Hesap Adı

Title – Türkçe Unvan

St – İngilizce Unvan

Streetaddress – Adresin İlk Kısmı

homePhone – Adres Devam

l – İl/İlçe

facsimileTelephoneNumber – Doğum Tarihi

ipphone – İşe Giriş Tarihi

mobile – Cep Telefonu No

pager – TC Kimlik No

İlgili Excel tablosunun ilk satırına kullanacağım Field bilgisini ve ikinci satırdan itibaren de kullanıcıya ait yeni girilecek güncel bilgileri yazıyorum ve .csv (CSV UTF-8 virgülle ayrılmış) formatında kaydediyorum. Ben örneğimde yavuz – Kopya.csv isimli olarak DC sunucusunun C sürücüsünde scr isimli klasöre kaydettim.

Burada özellikle bilmemiz gereken bir konu da Fieldlere gelecek verilerin mutlaka dolu olmasıdır yani örneğin bir kullanıcının telefon numarası yoksa onu boş bırakamazsınız, mutlaka . veya – veya yok şeklinde bir şey olmalı. Şayet benim gibi kimi kullanıcılarınız telefon bilgileri olup kiminin yoksa o zaman csv yi mobile bilgisi olan ve olmayan diye iki farklı dosya olarak kaydetmeniz gerekmektedir. Aksi halde kod çalıştığında hata verecektir.

 

Şimdi notepad açıp aşağıdaki kodları yazıyorum;

$eee=Import-Csv “C:\Scr\yavuz – Kopya.csv”-Delimiter “;”

Import-Module Activedirectory

foreach ( $row in $eee)

{

Try

{

$samaccountname=$row.samaccountname

$ipPhone=$row.ipPhone

$Title=$row.title

$streetaddress=$row.streetaddress

$homePhone=$row.homePhone

$l=$row.l

$facsimileTelephoneNumber=$row.facsimileTelephoneNumber

$pager=$row.pager

$st=$row.st

$mobile=$row.mobile

 

Set-ADUser -Identity $samaccountname -Replace @{Title=$title ;st=$st ;streetaddress=$streetaddress ;homePhone=$homePhone ;l=$l

     ;facsimileTelephoneNumber=$facsimileTelephoneNumber ;ipPhone=$ipPhone ;mobile=$mobile    ;pager=$pager }

}

Catch {” $SamAccountname yok”}

}

 

Ve dosyayı .ps1 uzantılı olarak kaydediyorum. Örnek olduğu için yine aynı DC sunucumun C sürücüsündeki scr klasörüne kaydediyorum.

Csv dosyasında olduğu gibi burada da kullanacağımız fieldleri yazmamız gerekmektedir. Örneğin csv dosyasında mobile bilgisi yoksa ve biz burada mobile bilgisini de eklemek istiyoruz dersek hata verecektir.

PowerShell i sağ tık Run as Administrator olarak çalıştırıyoruz aksi halde ps1 aşağıdaki hata ile karşılaşabiliriz.

 

Başarılı bir şekilde çalıştığında PowerShell ekranı aşağıdaki gibi olacaktır.

 

Csv dosyasındaki veriler sisteme girildikten sonra kullanıcı bilgilerinin aşağıdaki gibi geldiğini görmekteyiz.

 

 

Burada 365 ile eşleştirme yapacak arkadaşlar için belirtmekte fayda gördüğüm birkaç hususu da ifade etmek istiyorum; Active Directory’de İl/İlçe bilgisini yazdığımız l (location) 365 tarafında City olarak geçmektedir, Active Directory’de cep telefonu bilgisini yazdığımız mobile 365 tarafında mobilenumber olarak geçmektedir, Yine aynı şekilde AD’ de ST (State/Province) 365 state olarak geçmektedir.

 

Portal güncellemelerinden haberdar olun!

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir