1. Ana Sayfa
  2. Exchange Server 2013
  3. Exchange 2013’te Günlük Rutin İşlerinizi Powershell ile Nasıl Yaparsınız?

Exchange 2013’te Günlük Rutin İşlerinizi Powershell ile Nasıl Yaparsınız?

Exchange Server’da Recipient objelerinin yönetimi, Exchange adminlerinin rutin işlerindendir. Recipient objesi dendiğinde ilk akla gelen ise Mailbox’tır. Tabi ki Mailbox’lar üzerinde en çok kafa patlatılan Objelerdir. Diğer Recipient objeleri ise; Distribution Group’lar, Mail-enabled objeler, Public Folder’lar, Contact’lar, Room Mailbox’lar vb. şeklide sıralanabilir. Genelleme yapacak olursak AD’deki her Mail-enabled obje bir Recipient’tır diyebiliriz.

Yeni nesil Exchange Server organizasyonunda “Recipient” yönetimini Exchange Admin Center’dan yapabilirsiniz. Fakat binlerce Recipient objesinin bulunduğu devasa Exchange organizasyonlarında bu tür işlemleri, ismi “Bulk” şeklinde de geçen, toplu hallerde yapmak gerekir. Bu durumda ise Exchange Management Shell, gereken ortamı sağlar.

Yazımda; “Mailbox” yönetiminde kopleks Scriptler oluşturarak günlük rutin işleri yönetmek için gereken Shell komutları temellerinden bahsetmek istiyorum.

Exchange Management Shell’ini açarak devam edebilirsiniz ya da bir Workstation’dan Windows PowerShell ile Remoting’i kullanarak Exchange PowerShell Virtual Directory’sine bağlanabilirsiniz.

Domain Controller üzerinden Windows PowerShell ile Exchange’e session açarak devam edeceğim.


Resim-1

Yeni session’ı “Import” etmeyi unutmayınız! Bu “Session” ile yeni Mailbox ekleme, değiştirme ve silme işlemleri yapalım. Böylece günlük rutin görevler arasında en çok yapılan Mailbox oluşturma, silme ve güncelleme işlemlerini incelemiş olacağız.

Parola için bir değişken belirlemek istiyorum.

$parola=ConvertTo-SecureString -AsPlainText Password1 –Force


Resim-2

New-Mailbox cmdlet’ini kullanarak bir Account ve onunla eşleştirilmiş bir Mailbox oluşturduk. Sonrasında Mailbox’a dair bir takım nitelikleri güncelleyebiliriz.


Resim-3

Mailbox’ın, Mailbox database’den varsayılanda aldığı bir kaç özelliği değiştirmiş olduk.

Active Directory user objesinden Exchange atrribute’ları silmek için (Mailbox’ını da silinecek şekilde işaretlemek için) aşağıdaki cmdlet’i kullanabiliriz.

Disable-Mailbox -Identity baris -Confirm:$false

Bu durumda disconnected Mailbox 30 gün içinde ( default retention period 30 gündür ) silinir fakat AD account objesi silinmez! Mailbox objesini ve AD Account objesini bir cmdlet ile temizlemek isterseniz aşağıdaki cmdlet bu işlem için yeterlidir.

Remove-Mailbox –identity baris –confirm:$false


Resim-4

New-Mailbox cmdlet’ini kullanarak yeni bir AD User Account’u ve Exchange Mailbox’ı oluşturduk. AD veritabanında bulunan bir kullanıcı objesi için Mailbox objesi oluşturmak istersek, üstteki komutu kullanabiliriz.

Mailbox’ı olmayan AD User Accout’larını listeleyip, onlara Mailbox atama işini aşağıda görüldüğü gibi pipeline ile birleştirilmiş iki cmdlet ile yapabilirsiniz.


Resim-5

Pipelining, bir cmdlet’in output’unu bir sonraki cmdlet’e aktarma konusunda müthiş bir icat değil mi? J

Bir önceki örnekte set-Mailbox ile bir Mailbox objesinin bir kaç niteliğini değiştirmiştik. Şimdi pipelining ile bu işlemi bir Bulk işlem haline getirelim.


Resim-6

Üstte görüldüğü gibi get-Mailbox ile elde ettiğimiz Output’u pipeline ile set-Mailbox cmdlet’ine gönderdik ve ilgili OU’nun altındaki kullanıcı objelerinin Mailbox niteliklerinde bir kaç güncelleme yaptık.

Önceki örneğimizde parola için bir değişken kullanmıştım. Bu tür bir değişken ile bir script hazırlayarak tüm işlemi/süreci Otomatize etmek mümkündür. Ama parola girme işlemini bir Account Operator’a yaptıracaksanız farklı yöntemler de kullanabilirsiniz.


Resim-7

Üstteki ilk örnekte parola, account operator’ün klavyeden yazması sonucunda okunacak. İkinci örnekte, Windows credential ekranına girilen parola kutucuğu okunacak ve new-Mailbox cmdlet’ine verilecek.

Mailbox yaratırken bazı nitelikleri new-Mailbox cmdlet’ini kullanarak belirleyemeyiz. Bu niteliklere City, State, Company nitelikleri örnek verilebilir. Bu tip nitelikleri değiştirmek için set-user cmdlet’ini kullanmanız gerekir.


Resim-8

Set-user cmdlet’inin parametrelerine bakmak isterseniz get-help set-user –detailed cmdlet’ini kullanabilirsiniz.

İlgili kullanıcı için yeni nitelikleri görmek istersek;


Resim-9

Üstteki cmdlet ile output almak yeterli olacaktır.

Yazımın sonuna geldim. Örneklerde, yeni kullanıcı ve beraberinde yeni Mailbox oluşturma işlemini, varolan kullanıcıya Mailbox atama işlemini, Exchange niteliklerini ve/veya beraberinde ad account’unu silme işlemini, cmdlet’leri pipeline ile birleştirme örneklerini incelemiş oldum. Gerisi hayal gücünüz ile sınırlı J

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Yorum Yap

Yazar Hakkında

1981'de Isparta’da doğdum. Üniversiteye kadar yaşantım Isparta'da devam etti. Lisansımı ve Yüksek Lisansımı Yıldız Teknik Üniversitesinde tamamladım. Windows NT'nin zamanının geçip Windows 2000 Server ve Client tarafının yaygınlaşmaya başladığı dönemlerde Microsoft sertifikasyon eğitimleri ile amatörce ilgilendiğim Bilişim Teknolojileri alanında, profesyonelliğe doğru ilerleyişim başladı. Lisans eğitimimin son zamanlarında ve yüksek lisansım ilk yılında freelance olarak çalıştım. 2006'in ilk çeyreğinden itibaren Bilge Adam Bilgi Teknolojileri Akademisi’nde Microsoft Sertifikasyon eğitimleri vermeye bağladım. Ardından Ankara Kızılay şubesinde 2 yıl Sistem ve Ağ Uzmanlığı departmanında Bölüm Başkan Yardımcılığı yaptım. Bilge Adam Kurumsal’da MS Sistem ve Platform kısmında Danışmanlık ve Eğitim hizmetleri ile Bilge Adam macerama devam ettim. Son 1.5 yıl kurumum adına Savunma Teknolojileri Mühendisliği A.Ş. 'ye MS Sistem ve Platform, Vmware Infrastructure (ESXi, vSphere) , Endpoint Security & Content Gateways (Checkpoint & Websense) , Network Infrastructure (Cisco Systems - Routing & Switching) alanlarında danışmanlık hizmeti verdim. Şu an SYMTURK firmasında Enterprise Vault ve Altiris CMS ürünlerinde danışmanlık hizmetine devam ediyorum. Vakit ayırabildiğim ölçüde eşimle WoW oynuyorum.

Yorum Yap