Exchange Server 2010 üzerinde varsayılan olarak açılan her kullanıcı için outlook anywhere açık gelir. Ancak güvenlik nedenleri ile bu özelliği kapatmak isteyebilirsiniz.
Bunun için aşağıdaki gibi bir powershell komutu size yardımcı olur
Get-Mailbox –Identity hakanuzuner | Set-CASMailbox -MAPIBlockOutlookRpcHttp:$True
veya tüm kullanıcılar için aşağıdaki komutu kullanabilirsiniz
Get-Mailbox –ResultSize Unlimited | Set-CASMailbox -MAPIBlockOutlookRpcHttp:$True
Eğer yöneticilere bu izni vermek, ancak diğer kullanıcılara bu izni vermek istemiyorsanız bu durumda kimlere izin verdiğinizide görmek isteyebilirsiniz. Bunun için ise gerekli olan powershell aşağıdaki gibidir
Örneğin Outlook Anywhere özelliği açık olan kullanıcıları listeleyelim
Get-CasMailbox –resultsize unlimited | Select name,MAPIBlockOutlookRpcHttp | Where { $_.MAPIBlockOutlookRpcHttp -like “False” }
Veya Kapalı olanlar
Get-CasMailbox –resultsize unlimited | Select name,MAPIBlockOutlookRpcHttp | Where { $_.MAPIBlockOutlookRpcHttp -like “True” }
Veya isterseniz bunu OU bazlı yapabilirsiniz. Örneğin müdürler bir OU altındadır ve siz hangi müdürde bu izin var hangisinde yok bilgisine de yine aşağıdaki powershell ile ulaşabilirsiniz.
Get-Mailbox -OrganizationalUnit “OU=mudurler,DC=cozumpark,DC=com” | Get-CasMailbox | Select name,MAPIBlockOutlookRpcHttp | Where { $_.MAPIBlockOutlookRpcHttp -like “False” }
Yine OU bazlı bu yetkiyi açıp kapatabiliriz
Get-Mailbox -OrganizationalUnit “OU=mudurler,DC=cozumpark,DC=com” | Set-CasMailbox -MAPIBlockOutlookRpcHttp:$False
Tüm bunlara rağmen hala kimlerin outlook anywhere ile sisteme bağlandığını kontrol etmek için ise aşağıdaki powershell komutunu çalıştırın. Bu komut size IIS log dizinini soracaktır, bu log dizini içerisindeki txt bazlı loglardan istediğinizi veya tek tek hepsini gösterip bunun sonucunu da yine csv olarak alabilirsiniz
[System.Reflection.Assembly]::LoadWithPartialName(“System.Drawing”)
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”)
$exFileName = new-object System.Windows.Forms.openFileDialog
$exFileName.ShowHelp = $true
$exFileName.ShowDialog()
$fname = $exFileName.FileName
$mbcombCollection = @()
$FldHash = @{}
$usHash = @{}
$fieldsline = (Get-Content $fname)[3]
$fldarray = $fieldsline.Split(” “)
$fnum = -1
foreach ($fld in $fldarray){
$FldHash.add($fld,$fnum)
$fnum++
}
get-content $fname | Where-Object -FilterScript { $_ -ilike “*MSRPC*” } | %{
$lnum ++
if ($lnum -eq $rnma){ Write-Progress -Activity “Read Lines” -Status $lnum
$rnma = $rnma + 1000
}
$linarr = $_.split(” “)
$uid = $linarr[$FldHash[“cs-username”]] + $linarr[$FldHash[“c-ip”]]
if ($linarr[$FldHash[“cs-username”]].length -gt 2){
if ($usHash.Containskey($uid) -eq $false){
$usrobj = “” | select UserName,IpAddress
$usrobj.UserName = $linarr[$FldHash[“cs-username”]]
$usrobj.IpAddress = $linarr[$FldHash[“c-ip”]]
$usHash.add($uid,$usrobj)
$mbcombCollection += $usrobj
}
}
}
$mbcombCollection | export-csv –encoding “unicode” -noTypeInformation c:\oareport.csv
Bunu ps1 olarak kayıt edin, çıktı ise C:\ dizinine oareport.csv olarak kayıt olacaktır.