17 Haziran 2013 Pazartesi

Outlook Anywhere Kullanıcı Listesini Almak İzin Vermek veya Yasaklamak

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.

Hiç yorum yok:

Yorum Gönder