Outlook Anywhere Ku...
 
Bildirimler
Hepsini Temizle

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

  RSS
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

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.


Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

Alıntı
Gönderildi : 16/01/2013 11:27
CozumPark
(@cozumpark)
Onursal Üye Yönetici

paylaşım için teşekkürler hakan hocam. gerçekten bazen çok ihtiyaç duyulan bir noktaya değinmişsiniz.

CevapAlıntı
Gönderildi : 17/01/2013 15:06
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Eyvallah hocam 🙂

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 18/01/2013 00:22
cagri_korpe
(@cagri_korpe)
Üye

hocam aynı hata ile karşılaştık fakat 
PS C:\Users\itmanagement> Get-Mailbox -ResultSize Unlimited | Set=CASMailbox -MAPIBlockOutlookRpcHttp:$True
Get-Mailbox : The term 'Get-Mailbox' is not recognized as the name of a cmdlet, function, script file, or operable prog
ram. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-Mailbox -ResultSize Unlimited | Set=CASMailbox -MAPIBlockOutlookRpcHttp:$Tru ...
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Mailbox:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

bu şekilde bir cvp aldım sorun nerde acaba ?

CevapAlıntı
Gönderildi : 15/12/2015 15:32
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Merhaba,

Bu komutu Exchange Powershell ekranında çalıştırmanız lazım windows powershell değil.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 16/12/2015 11:48
Paylaş: