MSHOWTO’da çıkmış daha önceki birçok yazıda Exchange Recipient’larından ve yönetimlerinden bahsetmiştik. Recipient yönetiminde, yönetimsel gayreti azaltma adına ya da verimliliği arttırmak için csv (comma separated value) dosyası ile bulk recipient Management önemli bir hal almaktadır. Bulk recipient Management’ta csv uzantılı dosya, veritabanı tablosu gibi kullanılır. Delimiter olarak “,” kullanılır. Her veri, satırlara yazılır. Satırlardaki alanlar birbirinden delimiter ( “,” ) ile ayrılır. CSV dosyasının hazırlanması için Notepad Text Editorü kullanılabileceği gibi daha zengin arayüz sunan Excel kullanılabilir. Excel ile devam edeceğim.
Resim-1
Bir kaç satır oluşturdum. Dosyanın detayları üstteki gibi. Dosyayı *.csv uzantılı halde kaydedebilirsiniz. Daha sonra Notepad ile ve ya Excel ile açarak, içeriğini değiştirebilirsiniz.
Exchange Management Shell’i, Windows PowerShell ile remoting’i ya da PowerShell scripting environment debugging aracını kullanarak aşağıdaki cmdlet’leri çalıştırın ve dosya içeriğinden edinilen veriler ile User Accout’ları ve Mailbox’ları oluşturun.
$parola=ConvertTo-SecureString -AsPlainText Password1 -Force
Import-csv c:\Bulk_Accout_for_CSV.csv | % {new-Mailbox -Name $_.Name -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $parola -ResetPasswordOnNextLogon $false }
Windows PowerShell ISE görüntüsü aşağıdaki gibidir.
Resim-2
CSV dosyasındaki verilere göre User Account’ları ve Mailbox’ları oluşturuldu. Gerekiyorsa Excel tablosuna “Password” kolonu eklenerek, parola değişkeni döngü içine alınabilir. Bu durumda döngü ve cmdlet’ler aşağıdaki gibi olacaktır.
Import-CSV C:\Mailboxes.CSV | % {
$parola = ConvertTo-SecureString -AsPlainText $_.Password –Force
New-Mailbox -Name $_.Name -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName -Password $parola
}
Bu işlemi bir adım daha ileri götürebiliriz. Excel tablosunu aşağıdaki gibi düşünelim.
Resim-3
Bu biçimde hazırlanan CSV dosyası ile oluşturulan User Account’ların, yönetimsel iş yükü getirebilecek diğer nitelikleri de yapılandırılmış olacaktır.
Aşağıdaki cmdlet ve döngü ile üstteki CSV dosyasından elde edilecek verileri işleyebiliriz.
$parola=ConvertTo-SecureString -AsPlainText Password1 -Force
Import-CSV C:\ Bulk_Accout_for_CSV1.csv | % {New-Mailbox -Name $_.Name -FirstName $_.FirstName
-LastName $_.LastName -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName
-Password $parola -OrganizationalUnit
$_.OrganizationalUnit -Database NW-BG
Set-User -Identity $_.Name -City $_.City -StateOrProvince $_.State -Title $_.Title -Department
$_.Department
Add-DistributionGroupMember -Identity ResearchDevelopment -Member $_.Name
Add-DistributionGroupMember -Identity Marketing -Member $_.Name
}
Bulk recipient Management için üstte bahsi geçen döngüler ve cmdlet’ler ihtiyaçlar doğrultusunda geliştirilebilir. CSV dosyasını oluşturmak için Active Directory veritabanındaki objelerin niteliklerini “Export” ederek bir base şablon hazırlayabilirsiniz.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar