Monthly Archives: June 2014

You are browsing the site archives by month.

Office 365 – Connect to Exchange Online – Powershell

Office 365 – Connect to Exchange Online – Powershell

Bildiğiniz üzere Remote Powershell komut satırından Exchange Online yönetmemizi sağlamaktaydı. Kişisel bilgisayarlarımızdan Exchange Online’a oturum açılabilir.

Aşağıdaki komutlar yardımıyla bu işlemi gerçekleştirebiliriz. Öncelikle kullandığımız bilgisayarın belirtilen işletim sistemlerinden biri olmasına dikkat etmemiz gerekmektedir.

  • Windows 8 veya 8.1
  • Windows 2012 veya 2012 R2
  • Windows 7 SP1 üzeri,(.Net Framewrork 4.5/4.5.1 veya FrameWork 3.0/4.0 install edilmeli)
  • Windows Server 2008 R2 SP1 üzeri, (.Net Framewrork 4.5/4.5.1 veya FrameWork 3.0/4.0 install edilmeli)

Connect to Exchange Online

İlk olarak kullandığımız local bilgisayardan aşağıdaki komut çalıştırılır

$UserCredential=Get-Credential

 

Windows Powershell Credential Request dialog kutusundan Exchange Online kullanıcı adı ve şifresi giriilir.

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection

 

Son olarak aşağıdaki komut çalıştırılır

Import-PSSession $Session

 

Çok dikkatli olunması gereken bir diğer konuda işlemlerden sonra muhakkak açılan oturumu kapatmamız gerekecektir. Eğer sonlandırmazsak her oturum açılıdğında Exchange Online üzerinde işlem yapılabilir.

Remove-PSSession $Session

 

Tüm bu işlemlerden sonra oturum açıldığını nasıl test edeceğiz? Yukarıda bahsedilen işlemlerden sonra herhangi bir hata alınmıyorsa başarılı bir şekilde connect olunmuş demektir. Get-Mailbox komutu ile de çıktıları görebiliriz.

Eğer bağlanılamıyorsak birkaç adım ile kontrol etme imkanımız olabilir.

  • Genelde yapılan kullanıcı adı ve şifrelerin yanlış yazımı,
  • DOS(Denial of service) ataklarına karşı korumalı olması açısından açılabilecek bağlantıları 3(Üç) ile sınırlandırmak,
  • Windows Powershell scriptleri çalıştırabilmesi için konfigure edilebilemesi gerekmektedir. Bu ayarı ile olarak kendi local bilgisayarımızdan yapmamız gerekmektedir. Aşağıdaki komut yardımıyla local bilgisayarda bu policy aktif etmeliyiz.
    • Set-ExecutionPolict RemoteSigned
  • TCP 80 portu Exchange Online ve local bilgisayar arasında açık olmalıdır

O365 – DIRSYNC SERVER KURULUM

Active Directory’nun O365 ile senkronize olabilmesi için yani olan hesapları ve bundan sonra AD’de yapılacak her türlü işlemlerin Cloud ile haberleşmesini sağlayacak bir tool’a ihtiyacımız bulunuyordu. Bu işelmleri DirSYnc tool yardımıyla yapmaktayız.

BU makalede bu tool kurulumunu anlatmaya çalışacağız.

 

 

 

 

 

 

 

 

 

 

 

 

Kurulacapuz path bilgileri defaul olarak gözükmektedir.

Buarada O365 Admin şifremizler giriş yapıyoruz

 

 

 

BU pencerede de Lokal Ad’mize ait domain şifremizi giriyoruz.

Bu pencerede akıcı ve kesintisiz bir geçiş için hem on-premise hemde cloud kullanıcıların maillerini kullanarak birlikte bir geçiş düşünülüyorsa organizasyonlar hybrid bir geçiş sağlayabilirler.

 

 

Aşağıdaki pencerede check işaretlenerek senkronizasyon işlemi başlatılabilir.

Outlook 2013 SP1 ile Email hesabı silerken DİKKAT..!

Bu, Office 2013 SP1 ile gelen önemli bir update’tir. Aslında, Outlook’tan email hesabı silindiği zaman ilişkili PST veya OST otomatik olarak silinmektedir..

Daha öncesinde ise data dosyası kullanıcının profile’ninde bulunmaktaydı.

Dikkat edilmesinde fayda bulunmaktadır.

 

Exchange Server 2010 SMTP Transport Log Analiz – LOGPARSER

Bildiğiniz üzer built-in olarak SMTP log analizi yoktur. Bu analizi LogParser isimli bir tool ile query yazarak yapabilmekteyiz. Aşağıda belirttiğim bazı örneklerle bu işlemi yapabilmekteyiz.

Örnek 1;

SMTP 550 Event olan sonuçları getirmek için;

logparser “select [#Fields: date-time] as date-time, REVERSEDNS(EXTRACT_PREFIX(remote-endpoint,0,’:’)) as RemoteSendingHost,data from RECV*.log Where data like’550%'” -i:csv -nSkipLines:4 -o:datagrid

Örnek 2;

SMTP 220, 221 veya 250 eventleri ile başlamayan sonuçları göstermektedir.

logparser “select [#Fields: date-time] as date-time, REVERSEDNS(EXTRACT_PREFIX(remote-endpoint,0,’:’)) as RemoteSendingHost,data from RECV*.log Where data NOT like ‘250%’ AND data NOT like ‘220%’ AND Data NOT Like ‘221%’ AND event = ‘>'” -i:csv -nSkipLines:4 -o:datagrid

Örnek 3;

@yahoo.com’dan 08/16/2014 veya 08/17/2014 tarihlerinde alınan mesajlar

logparser “select [#Fields: date-time] as date-time, REVERSEDNS(EXTRACT_PREFIX(remote-endpoint,0,’:’)) as RemoteSendingHost,data from RECV20140816*.log,RECV20140817*.log Where data Like ‘250%yahoo.com%’ AND event = ‘>'” -i:csv -nSkipLines:4 -o:datagrid

Örnek 4;

Mart ayında alınan tüm mesajlar

logparser “select REVERS`EDNS(EXTRACT_PREFIX(remote-endpoint,0,’:’)) as RemoteSendingHost,data from RECV201303*.log Where data like ‘MAIL FROM%'” -i:csv -nSkipLines:4

Office 365 Convert to Federated Domain Problem

Convert-MsolDomainToFederated komutu çalıştırıldıktan sonra aşağıdaki gibi bir hata ile karşılaşılabilinir.

,

Netsh ile Proxy konfigürasyonu tanımını müteakip bu problem aşılabilir.

Exchange Server 2010 Powershell ile Tracking Log Searching

Aşağıdaki komut yardımıyla Tracking loglardan mail search edebilmekteyiz.

Get-Exchangeserver | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -Recipients “enisgoktay@hotmail.com“,”egoktay@hotmail.com” -start “7/10/2014 12:00 AM” | ? {$_.Source -eq “SMTP” -and $_.EventId -eq “RECEIVE“} | Select-Object Timestamp, Clienthostname, sender, @{Name=”Recipients”; Expression={$_.recipients}}, Recipientcount, MessageSubject | export-csv -NoTypeInformation .\Messages.csv -Encoding Unicode

  • Yukarıdaki komut ile ilk olarak message tracking loglarını alabilmekteyiz. CAS ve EDGE serverler exclude edilmektedir.
  • Select-Object ile belirtilen başlıklar altında listelenebilir.
  • @{} expression ile tüm kullanıcıları tek bir text alan içinde birleştirmektedir.

 

Aşağıdaki komut aracılığyla da specisifc bir kullanıcı, zaman ve mesaj detaylarını alabiliriz.

Get-Exchangeserver | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-Messagetrackinglog -sender enisgoktay@hotmail.com -MessageSubject “Mesaj Baslik” -Start “09/27/2014 00:00 AM” -End “09/27/2014 11:00 AM” | Select-Object Timestamp,Clienthostname,eventid,source,sender,@{Name=”Recipients”;Expression={$_.recipients}},Recipientcount,serverhostname,SourceContext

  • Yukarıda komutta belirtilen saatte belirtilen mesaj başlığında gönderenin belli olduğu sonuçlar alınabilir.

 

Aşağıdaki komut yardımıyla belirli zaman içinde belirli domaine gönderilen maillerin listesi alınabilir.

Get-Messagetrackinglog -Start “09/21/2014 12:00 AM” -End “09/23/2014 8:00 PM” -ResultSize Unlimited | where {$_.Recipients -like ‘*@cdolar.com’ -and $_.Sender -like ‘*@hotmail.com’} | Select-Object Timestamp, Clienthostname, eventid, source, sender, Recipients, MessageSubject, serverhostname

Exchange Server 2010 Public Folders

Exchange Server 2010’da Public Folder’lar optional birer özelliktir. Kişilerin ortak olarak kullandığı klasörler olarak ta nitelendirebiliriz. Public Folderları DAG üyesi sunucularda ancak replika ile çoğaltabiliriz. Aşağıdaki komutlar yardımıyla bazı işlemleri gerçekleştirilebilir.

Replika Listesi:

Get-PublicFolder -recurse |fl name,replicas

 

System Folder için;

Get-PublicFolder -recurse \non_ipm_subtree |fl name, replicas

 

Spefisik bir klasörün replikası için:

Get-PublicFolder -Recurse | Where-Object {$_.Replicas -notcontains ‘Public Folders CST’} | fl name,replicas

  • ‘Public Folders CST’ database” replika için setlenmemiş,

 

0’dan fazla Item için,

Get-PublicFolder -Identity ‘\’ -Recurse | Get-PublicFolderStatistics | Where-Object {$_.ItemCount -gt 0} | fl name, ItemCount

 

Hiç Item bulunmadığı zaman;

Get-PublicFolder -Identity ‘\’ -Recurse | Get-PublicFolderStatistics | Where-Object {$_.ItemCount -eq 0} | ft name, ItemCount

DAG Active Database Mount Etmek

DAG üyesi sunucularımızda veritabanları bazı sebeplerle diğer dag üyesi sunucularda aktif etmek gerekebilir.Kısaca nasıl aktif edebileceğimizi ve seçeneklerin bize ne sorduğunu görebilmek için bu makaleyi hazırladım.

A-) EMC üzerinden;

  1. Organization Management\Mailbox\Database Management gidilir
  2. Sağ tuş ile Move Active Database denilir.
  3. Browse ile birden çok member sunucumuz varsa hangi sunucuya göndereceğimizi seçeriz.
  4. Bu esnada bir alttaki seçenekte 4(Dört) tane database mount dial seçeneği çıkmaktadır. Default olarak NONE gelmektedir. Açıklamaları aşağıdaki gibidir.
    1. BestAvailability(default) ; Eğer copy queue length ≤12 olunca dataabase mount olur. Loglar replike olur ve database mount olur
    2. GoodAvailability; Eğer copy queue lenght ≤6 olursa database mount olur. Loglar replike olur ve database mount olur
    3. Lossless; Database, copy queue lenght “0” olduğunda mount olur. Tüm logların replike olduğu görüldükten sonra database mount olur.
    4. BestEffort;Copy queue lenght’e bakılmaksızın Database mount olur.
    5. None: Default’tur.

B-) Move-ActiveMailboxDatabase DB –ActivateOn Server <MOVEEDILECEKSUNUCU> -MountDialOverride : <DIALOPTIONS>

Exchange Server 2010 Powershell ile Message Delivery Queue

Message Queue görebilmek için;

  1. EMS üzerinden queue görülebilmektedir. Aşağıdaki komut yardımıyla Shadow hariç kaç item olduğu görülebilmektedir.
    1. Get-TransportServer | Get-Queue | Where-Object {$_.MessageCount -gt 0 -and $_.Identity -notlike “*\Shadow\*”} | fl Identity, MessageCount, NextHopDomain, Status, LastError
  2. EDGE transport server varsa exclude edilerek görülebilir.
    1. Get-Transportserver | where-object {$_.name -notlike ‘*edge*’} | Get-Queue | Where-Object {$_.DeliveryType -ne ‘ShadowRedundancy’} | ft Identity, MessageCount, NextHopDomain, Status, LastError -wrap
  3. Toplam kaç ITEM olduğunu aşağıdaki komut yardımıyla görebiliriz.
    1. Get-TransportServer | Get-Queue | measure-object MessageCount -max | ft

Aşağıdaki makale yardımıylada Transport Queue Deep Dive olarak okunmasını önermekteyim.

https://www.simple-talk.com/sysadmin/exchange/a-deep-dive-into-transport-queues—part-1/

Disk Performance – Disk Transfer/Sec ve I/Os

Diskler üzerindeki IOPS ölçmek için aslındatam olmasada Disk tranfer/sec performance sayaçları ile ölçmek mümkündür.

Nedir bu sayaç? Bu sayaç işletim sisteminin read ve write değerlerinin ölçülmesi diyebiliriz fakat gerçek disk hardware IOPS değerini vermemektedir.

Örneğin, aşağıda da görülebildiği üzere diske write yapıldığı zaman RAID1 olarak ayarlanmış diskler için 2 veya daha fazla olarak görülebilmektedir.


RAID5 olan disklerde genel olarak 4 I/Os(2 okuma 2 yazma) olarak yapılmaktadır. (1 data bit okuma, 1 parity bit okuma, 1 data bit yazma, 1 parity bit yazma)