Windows Vista ve Windows 2008 ile birlikte komut satırından yönetim için geliştirilmiş yeni bir ortam olan PowerShell, Exchange 2007 içinde yer almış ve Exchange Management Shell olarak komut satırından yönetim yapılmasını sağlar.
Konfigürasyon ve günlük yönetim görevlerini yerine getirmek için kullanılabilecek bir komut satırı arabirimi olan EMS, rutin görevlerin yerine getirilmesini sağlar. Ayrıca scripting yetenekleri sağlar.
Bazen bir işlemi yapmak için Exchange Management Console’u başlatmak, ilgili kısmı seçmek ve işlemleri yapmak çok sayıda işlem adımını içerebilir. Buna karşın EMS ile tek bir komutun uygulanması yeterli olabilir. Ayrıca birçok yerde karşımıza çıkan “copy commands” komutu kopyalama olanakları da komutun ya da script’in doğrudan kullanılmasın sağlar.
Exchange Management Shell yaygın olarak kullanıldığı bazı işlemler:
Mailbox yönetimi: Mailbox’ların yaratılması, değiştirilmesi ve silinmesi.
Mailbox limitlerinin değiştirilmesi: Bir ya da daha çok kullanıcıya kota uygulamak.
Mailbox’ların taşınması: Organizasyon içinde; server’lar arasında mailbox’ları taşınması.
Exchange Management Shell ortamında kullanılan komutlar “cmdlet” olarak bilinir. Çok sayıda cmdlet sayesinde tipik yönetim işlemlerini yapmak çok kolay hale gelmiştir.
Exchange Management Shell’i başlatmak için Start / All Programs / Microsoft Exchange Server 2007 ve ardından Exchange Management Shell seçilir.
Exchange Management Shell içinde çok sayıda cmdlet yer alır. Cmdlet’ler belli işlem grupları içinde kategorilendirilebilir.
Cmdlet’ler
EMS sisteminde ana komutlar "cmdlet" olarak adlandırılan komut setleridir. Exchange yönetimi ile ilgili çok sayıda cmdlet vardır. CmdLet’ler belli bir komut ve parametrelerden oluşur.
Cmdlet Nedir?
Cmdlet’ler PowerShell ortamında kullanılan komutlardır.
Cmdlet (command-let olarak söylenir), Shell içinde kullanılan komut bileşenleridir. MS-DOS yıllarından hatırlayacağımız Dir komutu gibi, Cmdlet’ler de Exchange Management Shell içinde belli işlemleri yerine getiren komutlardır.
CmdLet’lerin genel yapısı:
<Cmdlet komutu> parametreler
Cmdlet komutu da genellikle bir işlem ve bir nesne şeklinde iki bileşenden oluşur:
<İşlem> – < nesne>
İşlem’ler yapılacak işlemi açıklar. Nesne ise işlenecek nesneyi belirtir.
Örnek:
Get - Mailbox
C:\> Get-Mailbox
Get-Mailbox bir cmdlet’tir. Cmdlet’ler ayrıca çok sayıda parametreye sahiptir.
Get-Mailbox "Faruk"
Sözdizimi Kuralları
Cmdlet'ler case sensitive (büyük harf/küçük harf) duyarlı değildir. Bütün komutları büyük harfle, küçük harfle ya da karışık olarak yazılabilir. Ancak genellikle "Pascal like" olarak bilinen yazım kullanılır. Bu yazımda komutların ilk harfi büyük olarak yazılır.
Örnek: Aşağıdaki örnekte bir kullanıcının mailbox'ı disable edilmektedir:
Disable-Mailbox farukcubukcu@fc-holding.com
Aşağıdaki örnekte ise Users klasöründeki mailbox’ları listeler:
Get-Mailbox -OrganizationalUnit Users
Cmdlet işlemleri (Actions)
Cmdlet’lerin ana fonksiyonunu belirtir.
Yaygın kullanılan Cmdlet deyimleri
|
İşlem |
Açıklama |
|
Get |
Belirtilen nesne hakkında bilgi almayı sağlar. |
|
Set |
Belirtilen nesnenin özelliklerini günceller. |
|
New |
Belirtilen nesnenin bir yeni üyesini yaratır. |
|
Enable |
Belirtilen nesneniyi enable eder. Aktifleştirir. |
|
Remove |
Belirtilen nesneyi siler. |
|
Disable |
Belirtilen nesneyi disable eder. Geçersiz hale getirir. |
|
Mount |
Bir mailbox'ı ya da public folder'ı mount eder. İlişkilendirmek. |
|
Dismount |
Bir mailbox'ı ya da public folder'ı dismount eder. İlişkisini kaldırmak. |
|
Move |
Mailbox'ları diğer veritabanlarına taşır. |
|
Test |
Belirtilen nesne üzerinde sorun giderme ya da tanı amaçlı test yapar. |
|
Install |
Yeni nesnelerin kurulmasını ya da özelliklerin eklenmesini sağlar. |
|
Uninstall |
Nesnelerin kaldırılmasını ya da özelliklerin çıkarılmasını sağlar. |
Nesneler (objects)
Cmdlet’lerde işlemlere eklenerek kullanılır. Örneğin mailbox bir nesnedir. Get-Mailbox olarak kullanıldığında ilgili mailbox hakkında bilgi almayı sağlar.
Yaygın kullanılan nesneler şunlardır
|
Nesne |
Açıklama |
|
ActiveSyncMailboxPolicy |
ActiveSync politikaları. |
|
CASMailbox |
Mailbox'ın client özellikleri. |
|
ClientAccessServer |
Exchange Client Access server rolüne ilişkin özellikler. |
|
DistributionGroup |
Mail-enabled distribution gruplara ilişkin özellikler. |
|
DynamicDistributionGroup |
Dinamik distribution gruplara ilişkin özellikler. |
|
EmailAddressPolicy |
e-mail adreslerini tanımlamak için kullanılan özellikler. |
|
ExchangeServer |
Exchange server'lara ilişkin özellikler. |
|
Mailbox |
Kullanıcı mailbox'larına ilişkin özellikler. |
|
MailboxDatabase |
Mailbox veritabanlarının özellikleri. |
|
MailboxServer |
Exchange Mailbox server rolüne ilişkin özellikler. |
|
MailContact |
Mail-enabled kontakt nesnelerinin özellikleri. |
|
MailPublicFolder |
Mail-enabled public folder nesnelerinin özellikleri. |
|
MailUser |
Mail-enabled olmayan kullanıcıların özellikleri. |
|
ReceiveConnector |
Receive konektörlerine ilişkin özellikler. |
|
SendConnector |
Send kknektörlerine ilişkin özellikler. |
|
StorageGroup |
Storage gruplara ilişkin özellikler. |
|
TransportServer |
Exchange Hub Transport server rolüne ilişkin özellikler. |
|
UMMailbox |
Unified Messaging sistemine ilişkin özellikler. |
|
UMServer |
Exchange Unified Messaging server rolüne ilişkin özellikler. |
|
User |
User nesnelerine ilişkin özellikler. |
Get işlemiyle oluşturulan Cmdlet’ler genellikle bilgi almak için kullanılır:
Get-Mailbox: Mailbox bilgilerini döndürür.
Get-MailboxStatistics: Mailbox’lar hakkında bilgi. Size, içindeki mesaj sayısı vb.
Get-ExchangeServer: Organizasyon içindeki Exchange Server’lar listesi.
Get-MailboxDatabase: Mailbox database’in özellikleri.
Aşağıdaki örnekte organizasyondaki bütün mailbox'lar listelenir:
Get-Mailbox -ResultSize unlimited
Aşağıdaki örnekte ise Users foldırı içindeki bütün mailbox'lar listelenmektedir:
Get-Mailbox -OrganizationalUnit Users
Set Cmdlet’leri:
Set işlemiyle oluşturulan Cmdlet’ler genellikle değişiklikler yapmak için kullanılır:
Set-Mailbox: Kullanıcının mailbox özelliklerini düzenler.
Storage kotaları düzenlemek için:
Set-Mailbox ceyhun -UseDatabaseQuotaDefaults:$False -IssueWarningQuota 45MB -ProhibitSendQuota 50MB -ProhibitSendReceiveQuota 60MB
Birleşik komut kullanımı olarak; Departmanı Finans olan kullanıcıların mailbox’ları:
Get-Mailbox | Set-User –department Finans
Ceyhun kullanıcısına gelen her mailleri Administrator kullanıcısına iletmek (forward) için:
Set-Mailbox -Identity "ceyhun" -ForwardingAddress " administrator@sirket.com"
New Cmdlet’leri:
New işlemi yeni nesnelerin yaratılmasın sağlar.
Yeni bir mailbox ve kullanıcı (mailbox-enabled kullanıcı) yaratmak için:
new-Mailbox -alias "ceyhun2" -name ceyhun2–userprincipalname ceyhun2@Sirket.com -database "FCServer\First Storage Group\Mailbox Database" -org users
Aşağıdaki örnekte ise yeni bir storage grup yaratılır.
New-StorageGroup -Name YeniFCStorageGroup -Server FCServer1 -LogFolderPath:"D:\CC" -SystemFolderPath:"D:\CC"
Yeni bir Mailbox Database yaratmak için:
new-mailboxdatabase "CCMailbox Database" -storagegroup ceyhunst
Remove Cmdlet’leri:
Kullanıcının mailbox bağlantısını kesmek için:
Remove-Mailbox -Identity “ceyhun”
Mailbox ve kullanıcı hesabını kalıcı olarak silmek için:
Remove-Mailbox -Identity “ceyhun” -Permanent
Aşağıdaki örnekte ise bir storage grup silinir.
Remove-StorageGroup -Identity "ExcSrv1.ceyhuncamli.com\YeniStorageGroup"
Enable Cmdlet’leri:
Nesneleri kullanılabilir hale getirmek için kullanılır. Örneğin var olan bir kullanıcı için mailbox oluşturmak gibi:
Enable-Mailbox -Identity ceyhun -Database Server1\Database1
Disable Cmdlet’leri:
Enable komutlarının tersine özellikleri ya da kullanımı kaldırmak için kullanılır. Örneğin bir kullanıcının mailbox’ını pasifleştirmek için:
Disable-Mailbox ceyhun
Örneğin OWA özelliğini disable etmek için:
Set-CASMailbox Ceyhun -OWAEnabled:$False
Move Cmdlet’leri:
Nesneleri taşımak için kullanılır. Örneğin bir kullanıcının mailbox’ını diğer bir veritabanına taşımak için:
Move-Mailbox ceyhun -TargetDatabase "First Storage Group\Mailbox Database"
Move-Mailbox ceyhun@ceyhuncamli.com -TargetDatabase YeniMailboxDatabase
$True ve $False Switch Parametreleri
Cmdlet’lerin çalıştırılmasında kullanılan bazı parametrelerin çalışması $true (doğru/geçerli) ya da $False (yanlış/geçersiz) şeklinde kullanıma sahiptir.
Set-AdSite –Identity <site adı> – HubSiteEnabled $true
Aşağıdaki cmdlet’in kullanımında da switch parametreleri yer almaktadır:
Sözdizimi:
set-StorageGroupCopy -Identity 'StorageGroupIdentity'
-CircularLoggingEnabled Switch
Kullanım:
set-StorageGroupCopy -Identity 'FCExsrv\Third Storage Group'
-CircularLoggingEnabled true$
Örnek: Kullanıcının mailbox’ının OWA özelliğini enable etmek için:
Set-CASMailbox -Identity ceyhun -OWAEnabled $true














Son Yorumlar