24 Haziran 2015 Çarşamba

Add/Remove RelationShip Loop System Center Service Manager


Add/Remove RelationShip Service Manager 

Service Manager Veritabanı sunucusu üzerinde SQL Profiler başlatılıp, Add/Remove RelationShip history de gerçekleştiğinde SQL Profiler durdurulabilir ve ilgili çağrının IR ID si ile arama yapıldığında çalışan prosedür vs ye erişilebilir. 

Bulunan prosedür, sorgu incelendiğinde ilk satırda aşağıdakine benzer RULEID görülebilir.
xec dbo.p_WindowsWorkflowTaskJobStatusUpsert @RuleId='CB8AE081-EADC-6BA6-B351-C30BD12CE165',@BatchId='3887031A-C72F-495A-B9A6-B915794681B6',@BaseManagedEntityId='16A9AB26-EE41-AEDB-9A7B-219818A2A2F8',@DataItem=N'<?xml version="1.0"

Bu RULEID SQL Queryler sorgulanıp çalışan WorkFlow bulunabilir.

WorkFlow olduğu Management Pack Export edilip RuleName aratılır ve Service Manager içerisindeki adı öğrenilebilir.


22 Mayıs 2015 Cuma

Exchange Server 2013 CU Yükleme Süreci

Active Directory Yedeği alınır.

Tedbir olması için eğer owa sayfası kuruma göre özelleştirilmişse, ilgili klasörlerin yedeği kopyalanarak alınır.
Exchange kurulum klasöründe aşağıdaki klasörler yedeklenir.
\V15\FrontEnd\HttpProxy\owa\auth\<version>\themes\resources
\V15\Client Access\OWA\<version>\Owa2\resources\styles

Internet üzerinden CU8 yada son versiyon edinilir.

Active Directory Schema Genişletme işlemi yapılır.

Tavsiye edilen Exchange Sunucular ile aynı Site ve Domainde olan DC lerde Extend işleminin başlatılmasıdır.

Geçerli Schema Versiyon bilgisi aşağıdaki komutlar bir Powershell Script .ps1 yada sırasıyla PowerShell de verilerek öğrenilir ve not edilir.
$root = [ADSI]"LDAP://RootDSE"
$m = [ADSI]("LDAP://" + "CN=ms-Exch-Schema-Version-Pt," + $root.schemaNamingContext)
$m.rangeUpper


Update ilgili DC ye kopyalanıp çalıştırılabilir.
Enterprise Yetkisi olan kullanıcı oturumunda aşağıdaki komutlar Yönetici olarak açılmış cmd ekranında sırasıyla verilir.

Setup.exe /prepareSchema /IAcceptExchangeServerLicenseTerms
Setup.exe /prepareAD /IAcceptExchangeServerLicenseTerms
Setup.exe /prepareDomain /IAcceptExchangeServerLicenseTerms

Aynı Zamanda bir sunucu güncellenmesi tavsiye edilir.

İlk önce MailBox Sunuculardan başlanır.

**********************************
Dag üyesi olan sunucuda
**********************************
MBX Mail queue ya yani mail alınmaması için aşağıdaki komut uygulanır.
Set-ServerComponentState MBXSunucuAdi1 -Component HubTransport -State Draining -Requester Maintenance

Verilen komutun hemen sistem genelinde mailbox sunucularda algılanması için MSExchangeTransport yeniden başlatılır
Restart-Service MSExchangeTransport

Queue da olan mesajların aktif olan diğer MBX sunucuya yönlendirilmesi için aşağıdaki komut uygulanır.
Redirect-Message -Server MBXSunucuAdi1 -Target MBXSunucuAdi2

MBX sunucuda cluster servisi paisfleştirilir.
Suspend-ClusterNode MBXSunucuAdi1 

MBX sunucuda aktif mailboxdatabase ler uygun olan diğer sunucuda yada sunucularda aktifleştirilir.

Move-ActiveMailboxDatabase -Server MBXSunucuAdi1 -ActivateOnServer MBXSunucuAdi2 -SkipClientExperienceChecks

önceden ayarlanmış bir Mailbox Database Activation policy varsa, görmek için aşağıdaki komut uygulanır. sunucu maintenence moddan çıkarılırken aynı policy nin ayarlanması gerekebilir.
Get-MailboxServer rns-excdb03 | Select DatabaseCopyAutoActivationPolicy

MBX sunucu üzerinde mailboxdatabse active edilmesi engellenir.
Set-MailboxServer rns-excdb03 -DatabaseCopyAutoActivationPolicy Blocked

MBX sunucu maintenance moda alınır
Set-ServerComponentState rns-excdb03 -Component ServerWideOffline -State Inactive -Requester Maintenance

MBX sunucunun maintenance modda olduğu kontrol edilir.
Get-ServerComponentState rns-excdb03 | ft Component,State –Autosize

Update yükleme işlemine yönetici olarak açılan cmd ile yada CU kurulumu çalıştırılarak başlanır.
Setup.exe /mode:upgrade /IAcceptExchangeServerLicenseTerms

Yükleme işlemi başarılı olarak bittiğinde aşağıdaki komutla sunucu versiyonu kontrol edilir.

Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion
CU8 15.00.1076.009
CU7 15.00.1044.025
https://technet.microsoft.com/en-us/library/hh135098(v=exchg.150).aspx Versiyon listesi
https://technet.microsoft.com/en-us/library/bb738144(v=exchg.150).aspx Schema Değişiklikleri Versiyonlara göre


Maintenance Moddan MBX sunucunun çıkarılması

Mailbox Sunucuda
Set-ServerComponentState MBXSunucuAdi1 -Component ServerWideOffline -State Active -Requester Maintenance

Mailbox sunucuda Cluster servisinin aktifleştirilmesi
Resume-ClusterNode MBXSunucuAdi1
Set-MailboxServer MBXSunucuAdi1 -DatabaseCopyActivationDisabledAndMoveNow $false
Set-MailboxServer MBXSunucuAdi1 -DatabaseCopyAutoActivationPolicy Unrestricted
Set-ServerComponentState –Identity MBXSunucuAdi1 -Component HubTransport -State Active -Requester Maintenance
Get-ExchangeServer  | Format-Table Name, *Version*
Restart-Service MSExchangeTransport

Sunucunun maintenance modda olmadığı aşağıdaki komutla kontrol edilir.
Get-ServerComponentState MBXSunucuAdi1 | ft Component,State –Autosize


*************************************************
Sadece CAS Rolü olan sunucuda
*************************************************
Alınabiliyorsa CAS sunucuların Image yedeği alınır.
Sunucu Güncellemeleri yapılır.
Load Balance kullanılıyorsa, Server Pool içinde pasifleştirilir.

Sunucu Maintenance Moda alınır.
Set-ServerComponentState CASSunucuAdi1 -Component ServerWideOffline -State Inactive -Requester Maintenance
Restart-Service MSExchangeFrontEndTransport

Sunucunun Maintenance Modda olduğu kontrol edilir.
Get-ServerComponentState CASSunucuAdi1 | ft Component,State –Autosize

CU güncellemesine başlanır.

Yükleme işlemi başarılı oarak bittiğinde aşağıdakş komutla sunucu versiyonu kontrol edilir.

Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion
CU8 15.00.1076.009
CU7 15.00.1044.025
https://technet.microsoft.com/en-us/library/hh135098(v=exchg.150).aspx Versiyon listesi
https://technet.microsoft.com/en-us/library/bb738144(v=exchg.150).aspx Schema Değişiklikleri Versiyonlara göre

CAS sunucu Maintenance Moddan çıkarılır
Set-ServerComponentState CASSunucuAdi1 -Component ServerWideOffline -State Active -Requester Maintenance

CAS sunucunun Maintenance Moddan çıktığı kontrol edilir.
Get-ServerComponentState CASSunucuAdi1 | ft Component,State –Autosize

13 Aralık 2014 Cumartesi

Exchange Server 2013 WhiteSpace ve Move Mailbox

Sürücü boyutuna erişen Exchange Server Mailbox Database içinde boş alanın açılması.
WhiteSpace

Taşınacak mailbox ların listelenmesi
Öncelikle disable olan kullanicilar tasınabilir.
Get-MailboxDatabase MailBoxDB | Get-Mailbox -ResultSize unlimited | where {$_.ExchangeUserAccountControl -eq "AccountDisabled"} Get-MailboxStatistics | select DisplayName,Alias,LastLogonTime,TotalItemSize | Sort-Object TotalItemSize -Descending

Aşlağıdaki komutla da Daatabase deki mailbox listesi de alınabilir.
Get-MailboxStatistics -Database MailBoxDB | Select DisplayName,Database,TotalItemSize,LastLogonTime |Sort-Object TotalItemSize -Descending

Taşınacak MailBox için küçük bir doğrulama yapmak iyi olabilir.
Get-Mailbox "kullanicinin görünen adi" | select database,alias

Kullanıcının Alias ve MailboxDatabase i görünen adı ile doğrulanır
get-mailbox -Identity "Kubilay Kaya"| select database,alias

Database                                                    Alias
--------                                                    -----
MailBoxDB                                              kubilay.kaya

Taşıma işlemine başlanır
New-MoveRequest -Identity kubilay.kaya -TargetDatabase MailBoxDB2

Taşıma işlemlerinin gözlemlenmesi:
Aşağıdaki komut ile ayrı bir powershell pencersinde çalıştırılarak sıklıkla taşıma ile ilgili bilgi alınabilir
while (1) {sleep -sec 30; cls ; Get-MoveRequest|Get-MoveRequestStatistics}

yada aşağıdaki komut tercih edilebilir.

while (1) {sleep -seconds 10 ;Get-MoveRequest | Get-MoveRequestStatistics | ft DisplayName,StatusDetail,TotalMailboxSize,BytesTransferred,BytesTransferredPerMinute,PercentComplete}

Toplu taşıma işlemlerinin yapılması
Taşıma işleminin disable olan tüm mailbox lar için başlatılması aşağıdaki komutla sağlanabilir.
Get-MailboxDatabase MailBoxDB  | Get-Mailbox -ResultSize unlimited | where {$_.ExchangeUserAccountControl -eq "AccountDisabled"} | New-MoveRequest -TargetDatabase MailBoxDB2

yada

MailBox kapasitesi en büyük 10 kulanıcıyı görmek için aşağıdaki komut uygulanabilir.
Get-MailboxDatabase MailBoxDB  | Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | Select DisplayName,Database,TotalItemSize,LastLogonTime -first 10

5 Gb dan büyük Mailbox ları görmek için aşağıdaki komut uygulanabilr.
Get-MailboxStatistics -Database MailBoxDB  | where {$_.TotalItemSize -gt 5GB} | select DisplayName,TotalItemSize|Sort-Object TotalItemSize -Descending

5 GB dan büyük mailbox ları taşımak içinde aşağıdaki komut kullanılabilir.
Get-MailboxStatistics -Database MailBoxDB  | where {$_.TotalItemSize -gt 5GB -and $_.TotalItemSize -lt 6GB} | Get-Mailbox | New-MoveRequest -TargetDatabase MailBoxDB2

Taşıma işlemi sonrası 
Taşıma işlemi kaynak mailbox üzerinde softdelete işlemi uygular. Mailbox retention period dikkate alınarak kaynak mailbox içinden taşınan mailbox silinir.
Mailbox ın büyüklüğü tabii olarak disk ile doğru orantılıdır. Taşınan mailboxlar, deleted mailbox retention zamanları dikkate alınarak silindiğinden mailbox database
kapasitesinde bir azalma görülmez. Eğer mailbox database kapasitesi disk kapasitesine ulaşmış ise, mailbox database içindeki boş alan (WhiteSpace) kontrol edilebilir.
Bu alan sürekli değişken olabilir. Küçük değerler, eğer mailbox database in durduğu sürücüde alan yoksa dikkate alınmalıdır. Mailbox retention zamanları beklenmeden taşınan mailbox ların, kaynak mailboxdatabase üzerinden silinmesi yoluna gidilebilir.

Aşağıdaki komutla Database üzerindeki boş alan görülebilir.
Get-MailboxDatabase MailBoxDB  -Status | select name, availablenewmailboxspace


Softdelete uygulanan ve mailbox database içinden kalıcı olarak silinebilir. Öncelikle deleted mailbox retention zamanı beklenen mailboxlar aşağıdaki komutla listelenebilir.
Get-MailboxStatistics -Database MailBoxDB  | where {$_.DisconnectReason -eq "SoftDeleted"} | select DisplayName,Totalitemsize,Identity | Sort-Object TotalItemSize -Descending

aşağıdaki komutla da silinebilir.
Get-MailboxStatistics -Database MailboxDatabase | where {$_.DisconnectReason -eq "SoftDeleted"} | foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState SoftDeleted}

Bu yapıldığında da mailbox database kapasitesinde düşme olmaz, ama AvailableNewMailboxSpace kapasitesi arttırılmış olunur. Exchange bu alanı yeni obje ve mailbox lar için kullanır.

tek bir mailbox için aşağıdaki komut uygulanabilir.
Remove-StoreMailbox -Database MailBoxDatabase-Identity "27fdefaa-ca0b-400d-876e-c31d614c6eae" -MailboxState SoftDeleted


24 Kasım 2014 Pazartesi

Yavas Baglantiya Sahip Uzak Ofislerde Domain Controller Kurulumu IFM - Installing AD DS from Media

Yavas Baglantiya Sahip Uzak Ofislerde Domain Controller Kurulumu IFM
Installing AD DS from Media

Kurulum Klasörü hazırlamadan önce bilinmesi gerekenler
RO DC olmayan bir DC de hazırlanabilir.
RO DC de hazırlanan kurulum klasörü yine RO DC de, Writable DC de hazırlanan kurulum klasörü yine writable DC kurulumda kullanılabilir.
Kurulum klasörünün hazırlandığı işletim sistemi ne ise, kurulum klasörünün kulanılacağı işletim sistemi de aynı olmalıdır.

IFM ile kurulum yapilacaksa Tombstone için zaman asimi degerleri göz önüne alinmalidir. Yani bu süreler aşılmadan ve yeni DC kurulmalıdır.
Silinen objelerin ne kadar AD veritabaninda tutulacaginin süresidir. Silinen LDP yada diğer araçlar ile görülebilr. Geçerli olarak her 12 saatte bir tombstone da

tutulan objeler taranır ve zaman aşımına uğrayan objeler gerçekten silinir. AD esitleme işleminde, diger işlemler ve arayüzlerden görülemeyen bu objelerin listesini

de eşitler. Bu şekilde diger tüm DC lerde de silme işleminin gerçekleştiği kontrol edilir. TomStone diger DC lere de esitlenir.

Tombstone Life Time Geçerli süreler
ADSIEDIT ile degistirilebilir.

Asağıdaki komut ile görülebilir.
dsquery * "cn=directory service,cn=windows nt,cn=services,cn=configuration,dc=<forestDN>" –scope base –attr tombstonelifetime

Windows Server 2000  60 Gün
Windows Server 2003  60 Gün
Windows Server 2003 (SP1)  180 Gün
Windows Server 2003 R2 (SP1) 60 Gün
Windows Server 2003 R2 (SP2) 180 Gün
Windows Server 2008 / 2008 R2 180 Gün

Ntdsutil ile aşağıdaki versiyonlarda yapılabilir.
Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012

Esitleme sorunu olmayan bir domian controller da asagidaki komutlar sirasi ile uygulanir
Start --> Cmd
ntdsutil
Activate Instance NTDS
IFM
create sysvol full d:\IFM

Kullanılabilecek Komutlar
create full : Yeni kurulacak DC yada için AD veritabanın hazırlanmasını sağlar.
create rodc : Yeni kurulacak sadece okunabilir DC için AD veritabanın hazırlanmasını sağlar.

create sysvol RODC : Yeni kurulacak sadece okunabilir DC için AD veritabanın SYSVOL klasörü ile hazırlanmasını sağlar.

create sysvol full : Yeni kurulacak DC yada için AD veritabanın SYSVOL klasörü ile hazırlanmasını sağlar.

create sysvol full nodefrag :Yeni kurulacak DC yada için AD veritabanın SYSVOL klasörünün defrag yapılmadan ile hazırlanmasını sağlar.

Bir harici diske d:\IFM klasörü kopyalanir.

IFM ile Yeni Additional Domain Controller kurulumu

Active Directory Domain Service yüklenir
IFM klasörü kopyalanan harici disk sunucuya takilir yada bir sekilde IFM klasörü, sunucunun erisebilicegi bir ortama kopyalanir.
Active Directory Domain Services Configuration Wizard peneresinde Additional Options adiminda
Install from media seçilir ve IFM klasörünün yolu gösterilir.












24 Eylül 2014 Çarşamba

Exchange Server 2010/2013 Mailbox Auditing - Mail Kutusu Denetimi

Exchange Server 2010/2013 Mailbox Auditing

Mailbox seviyesinde konfigüre edilir.
Geçerli olarak user audit kapalıdır.
User, Delegate ve Administrative seviyelerinde konfigüre edilir.

Mailboxlar üzerinde 11 hareket izlenir
copy, mesajın kopyalanması (Administrator, Delegate)
create, gönderilen ve alınan mesajlar, oluşturulan klasörler hariç (Administrator, Delegate, Owner)
Folderbind, mailbox ve içindeki herhangi bir klasöre erişim (Administrator, Delegate)
harddelete, Recoverable Item dan silinen öğeler (Administrator, Delegate, Owner)

messagebind Okunan yada açılan mesajlar (Administrator)
move, taşınan öğeler (Administrator, Delegate, Owner)
movetodeleteditems, silinen mesajlar (Administrator, Delegate, Owner)
sendas, send as yetkisi ile gönderilen mesajlar (Administrator, Delegate)
sendonbehalf, sendonbehalf (asıl gönderenin belli olduğu) yetkisi ile gönderilen mesajlar (Administrator, Delegate)
softdelete, silinmiş öğelerden silinen (Administrator, Delegate, Owner)
update bir objenin özelliklerinde yapılan güncelleme (Administrator, Delegate, Owner)

audit loglar kulanıcıların mailbox ı içinde tutulur
Recoverable Items içinde Audits 
owa ve outlook üzerinden görülemez
MFCMAPI program ile görülebiliyor

Powershell ile konfigüre edilir.
Set-Mailbox -Identity 'Kubilay Kaya' -AuditEnabled $True

Geçerli olarak 90 gün
AuditAdmin
{Update, Move, MoveToDeletedItems, SoftDelete, HardDelete, FolderBind, SendAs, SendOnBehalf, Create}

AuditDelegate
{Update, SoftDelete, HardDelete, SendAs, Create}

hareketleri loglanmaya başlar.

AuditOwner aşırı log üretebileceğindan, belirli kullanıcılar için gerekli durumlarda açılması önerilir. Mesela kulllanıcının mesajlarının periyodik olarak kaybolması gibi. 


Audit işleminden hariç tutulacak kullanıcılar önceden belirtilir.
Set-MailboxAuditBypassAssociation -Identity 'test' -AuditBypassEnabled $True

Tüm kullanıcılar için aşağıdaki komutlalarla yada oluşturulacak ps1 dosyası 
çalıştırılarak açılabilir
$UserMailboxes = Get-mailbox -Filter {(RecipientTypeDetails -eq 'UserMailbox')}
$UserMailboxes | ForEach {Set-Mailbox $_.Identity -AuditEnabled $true -AuditDelegate Update, Move, MoveToDeletedItems, SoftDelete, HardDelete, FolderBind, SendAs, SendOnBehalf, Create -AuditLogAgeLimit 366.00:00:00}


Mailbox Audit yapılandırmasını bir kullanıcı üzerinde görmek için
Get-Mailbox -Identity 'Kubilay Kaya' | Format-List Audit*

Audit enabled olan tüm kullanıcıların listesini almak için
Get-Mailbox -resultsize unlimited | where {$_.Auditenabled -eq "True"}

Hangi hareketlerin loglanacağı belirlemek için
Set-Mailbox -Identity "Kubilay Kaya" -AuditDelegate SendAs,SendOnBehalf -AuditEnabled $true

Set-Mailbox -Identity "Kubilay Kaya" -AuditAdmin MessageBind,FolderBind -AuditEnabled $true

Set-Mailbox -Identity "Kubilay Kaya" -AuditOwner HardDelete -AuditEnabled $true


Audit Loglar
Geçerli olarak 90 gün tutulur  24.855 güne arttırılabilir 
Eğer AuditlogAgeLimit 0 verilirse loglar temizlenir.
her log 1.5 - 3 kb arasındadır
mailbox içinde tutulan loglar kotadan hariçtir

Powershell ile görülebilir
Audit sayı ve büyüklüğünü görmek için
Get-MailboxFolderStatistics -Identity "Kubilay Kaya" | ? {$_.Name -eq "Audits" -and $_.FolderType -eq "Audits"} | Format-Table Identity, ItemsInFolder, FolderSize -AutoSize

Identity                      ItemsInFolder    FolderSize
--------                        ------------------    ----------

kubilay.kaya\Audits                     23   253.8 Kb (259891 bytes)


Audit arama
Search-MailboxAuditLog -Identity 'Kubilay Kaya' -ShowDetails -StartDate 
"11/18/2013 00:00:00 AM" -EndDate "11/18/2013 12:00:00 PM" | Format-Table 
Operation, OperationResult, LastAccessed, LogonType, LogonUserDisplayName, 
FolderPathName, ItemSubject -AutoSize

Tarihin dinamik olarak verilmesi
Search-MailboxAuditLog -Identity 'Kubilay Kaya' -ShowDetails -StartDate (get-date -format g(get-date).adddays(-1)) -EndDate (get-date -format g) | Format-Table Operation, OperationResult, LastAccessed, LogonType, LogonUserDisplayName, FolderPathName, ItemSubject -AutoSize

Search-MailboxAuditLog -Identity 'Kubilay Kaya' -ShowDetails | Format-Table Operation, LastAccessed, LogonType, LogonUserDisplayName, FolderPathName, ItemSubject -AutoSize


Sadece belirli bir olayın loglanması
Search-MailboxAuditLog -Identity 'Kubilay Kaya' -ShowDetails | ? {$_.Operation -eq "HardDelete"} | Format-Table Operation, LastAccessed, LogonType, LogonUserDisplayName, FolderPathName, ItemSubject -AutoSize

Logların dışarı çıkarılması
Search-MailboxAuditLog -Identity 'Kubilay Kaya' -Showdetails | select -prop Owner, LastAccessed, Operation, OperationResults, LogonType, FolderPathName, ClientInfoString, ClientIpAddress, InternalLogonType, MailboxOwnerUPN, LogonUserDN, Subject|Export-Csv C:\users\kkaya\Desktop\mailboxaudit.csv -NoTypeInformation -Encoding "UTF8"

Search-MailboxAuditLog -Identity 'Kubilay Kaya' -Showdetails -StartDate (get-date -format g(get-date).adddays(-1)) -EndDate (get-date -format g) | select * | Export-xml  C:\users\kkaya\Desktop\mailboxaudit.xml get-mailbox | Search-MailboxAuditLog -Showdetails -Resultsize 250000 -StartDate (get-date -format g(get-date).adddays(-1)) -EndDate (get-date -format g) | select * | Export-clixml  C:\users\kkaya\Desktop\mailboxaudit.xml


Gerekli olabilecek alanlar
Owner, LastAccessed, Operation, OperationResults, LogonType, FolderPathName, ClientInfoString, ClientIpAddress, InternalLogonType, MailboxOwnerUPN, LogonUserDN, Subject


New-MailboxAuditLogSearch "Admin and Delegate Access" -Mailboxes "test","test2" -LogonTypes Admin,Delegate -StartDate 1/1/2013 -EndDate 12/31/2013 -StatusMailRecipients "test@test.test"

logontyper owner verilirse -Showdetails kullanılmalıdır.

Folder izinlerinin görüntülenmesi gerekli olabilir
Get-MailboxFolderPermission -Identity test@test.test:\Calendar

Add-MailboxFolderPermission -Identity kullanici1:\calendar -User kullanici2 -AccessRights Reviewer


Örnek Komutlar

Get-DistributionGroupMember ksg | Get-Mailbox | fl Au*

Get-DistributionGroupMember mailgrupadi | Set-Mailbox -AuditDelegate Update, 

Move, MoveToDeletedItems, SoftDelete, HardDelete, FolderBind, Send As, 

SendOnBehalf, Create -AuditEnabled $true

7 Ağustos 2014 Perşembe

Exchange Server 2013 ortamında Office Web Apps Server kurulumu ve yapılandırılması

Exchange Server 2013 ortamında Office Web Aspps Server kurulumu ve yapılandırılması
Web Apps sunucu/servisi ile owa ya bağlanan kullanıcılar Word, Excel, PowerPoint ve PDF dökümanlarını bağlandıkları tarayıcı vasıtasıyla dökümanı kendi bilgisayarlarına indirmeden görebilirler.
OWA Web Apps için içerde ve eğer dışardan erişilmesi de isteniyorsa dış DNS A kaydı, dışardan erişilebilicek IP adresi ve Firewall üzerindne gerekli yönlendirmenin Owa Web Apps olacak sunucuya eğer sertifika ile erişim yapılacaksa 443 portunun yönlerilmesinin yapılmış olduğu kontrol edilmelidir.

Aybı şekilde Lync, Sharepoint içerisinden de aynı işlevi kullanabilirler.
doc, docx, dotx, dot, dotm, xls, xlsx, xlsm, xlm, xlsb, ppt, pptx, pps, ppsx, potx, pot, pptm, potm, ppsm

Öncelikle Windows Server 2008 R2, Windows Server 2012 yada Windows Server 2012 R2 olan sunucuda kurulduktan sonra düncelleştirmeleri yapılr ve domaine alınır. Daha sonra aşağıdaki PowerShell komutuyla gerekli bileşenler kurulur.

Windows Server 2008 R2 için aşağıdkai gereksinimler kurulur
SP1
.Net FrameWork 4.5
PowerShell 3.0
KB2670838

PowerShell de aşağıdaki komutlar uygulanarak gerekli bilşenlerin yüklenmesi sağlanır.
Import-Module ServerManager
Add-WindowsFeature Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,Web-Security,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Console,Ink-Handwriting,IH-Ink-Support

Gerekli olursa sunucu yeniden başlatılır.


Windows Server 2012 ve 2012 R2 de
Aşağıdaki komut PowerShell de uygulanarak gerekli bileşenlerin kurulması sağlanır.
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices
Gerekli olursa sunucu yeniden başlatılır.

http://www.microsoft.com/en-us/download/details.aspx?id=35489 adresinden Microsoft Office Web Apps Server indirilebilir.
Setup.exe çalıştırılarak kuruluma başlanır. Ekrana gelen Lisans sözleşmesi  kabul edilir. Sonraki ekransa kurulum yapılacak klasör belirlenir Install Now butonuna tıklanır.
  

Kurulum bitirilince aşağıdaki pencere ekrana gelir.
http://technet.microsoft.com/en-US/office/ee748587.aspx adresinden son güncelleştirmeler kontrol edileirek yüklenebilir. Windows Update ile de son güncelleştirmeler sunucuya yüklenebilir.

.
 Dil paketleri http://www.microsoft.com/en-us/download/details.aspx?id=35490 adresinden yüklenir.




Eğer HTTPS ile bağlantı yapılması isteniyorsa Exchange CAS sunucu üzerindeki SSL sertifikası sunucuya yüklenir. Bunun için Exchnage CAS suncuda Runàmmc yazılır ve OK butonuna tıklanır.
Ekrana gelen MMC penceresinde File à Add/Remove Snap-In seçilir. Available snap-ins kısmında Certificates seçilir ve Add butonuna tıklanır. Ekrana gelen pencerede Computer Account seçilir ve Finish tıklanır. OK butonuna tıklanır.

Certificates (Local Computer) à Personal à Certificates başlığında tıklanır. Sağdaki kısımda ilgili sertifika üzerinde sağ tıklanır ve Export seçilir. 


 Ekrana gelen pencered Next tıklanır,  Export Private Key penceresinde Yes seçilir ve Next tıklanır. Export File Format penceresimde Export all extended properties seçilir ve Next butonuna tıklanır. Secutiry penceresinde parola verilir ve Next butonuna tıklanır. Filer to Export penceresinde setifikanın kayıt edileceği konum ve açıklayıcı bir isim belirlenir ve Save butonuna tıklanır. Next ve Finish butonlarına tıklanarak işlem bitirilir. Export edilen sertifika OWA WebApps sunucusuna kopyalanır.

Owa Web Apps sunucusunda yine Certificates konsolu Local Computer ile açılır. Certificates (Local Computer) à Personal à Certificates başlığında sağ tıklanır. Açılan menüden All Tasks à Import seçilir. Kopyalanan pfx uzantılı sertifika gösterilir. Sertifikanın Friendly Name kısmaındaki ifade not edilir.
OWA Web Apps sunucuda Power Shell yönetici tekisi ile açılır. Sırasıyla aşağıdaki komutlar uygulanır.

Import-Module -Name OfficeWebApps komutu ile komut seti yüklenebilir.
New-OfficeWebAppsFarm -InternalURL "https://owas.owaskotroletdomainadi.com" -ExternalURL "https://owas.owaskotroletdomainadi.com" -CertificateName "owaskotroletdomainadi-cer" –EditingEnabled

İçerden ve dışardan belirlenmiş olan DNS adı eşimin olduğu kontrol edililir.

Domain adınının owaskotroletdomainadi.com olduğunu varsayalım.
https://owas.owaskontroletdomainadi.com/hosting/discovery adresine girildiğinde aşağıdakine benzer bir sayfanın gelmesi beklenir.


Öncelikle önceden bir Owa Wep Apps sunucu yapılandırması var mı Exchange Power Shell ile kontrol edilebilir.
Get-OrganizationConfig | fl WAC*

Aşağıdaki komutla Owa Web Apps sunucu adresi konfigüre edilir.
Set-OrganizationConfig -WACDiscoveryEndpoint https://owas.owaskotroletdomainadi.com/hosting/discovery

Bu komuttan hemen sonra IIS konsolunda MSExhangeAppPool Recylce edilir. Cas sunucudaki Application Log da 142 nolu Event ID oluştuğu gözlemlenir.

İsteğe göre OWA üzerinde dökümanların Owa Wep Apps ile kullanıcıdan bir aksiyon gelmeden açılması sağlanabilir. Bunu için aşağıdkai komutlar CAS sunucularda uygulanır.

Set-OwaVirtualDirectory "cassunucuadi\owa (Default Web Site)" -ForceWacViewingFirstOnPublicComputers $true -ForceWacViewingFirstOnPrivateComputers $true

Owa açılarak bir dökümanın tarayıcı penceresinde açılabildiği (Preview) kontrol edilir.
Ayrıntılı Bilgi İçin

ofis dosyalarının owada görülmesi

26 Mart 2014 Çarşamba

Exchange Server 2010 Sp3 Mail Recipients ve Distribution Group İzinlerinin Belirli Kullanıcılara verilmesi Exchange Server 2010 Delagation



Exchange Server 2010 Sp3 Mail Recipients ve Distribution Group İzinlerinin Belirli Kullanıcılara verilmesi


Öncelikle Exchange 2010 ile beraber gelen yetki grupları ile yönetimin dağıtılması sağlanabilir. Ancak istenilenden fazla yetki de verilebilir. Yetkilerin sınırlandırılması için Exchange içerisindeki Role Grupları, Role Gruplarına atacak yetki ve komut parametrelerinin belirlenmesi ile istenen yetkilerin verilmesi sağlanabilir. Burada RBAC ve diğer konularla ilgili birçok bilgi bulabilirsiniz. 
Aşağıdaki link ve "role based access control rbac exchange 2010" gibi bir ifade ile arama yapıldığında çıkan sonuçlar yeterli olacaktır.
Burada RBAC ve diğer konularla ilgili detaylı bilgi bulabilirsiniz.
http://technet.microsoft.com/en-us/library/dd298183(v=exchg.150).aspx

Bu nedenle açıklama yapmadan istenilen yetkilerin verilmesi için gerekli adımları uygulamaya başlayabiliriz.

Amaç belirli bir kullanıcı grubuna Mail Box ve Distribution Group oluşturma ve Mailbox ve Distribution Grup özelliklerinde değişiklik yapma yetkisinin verilmesi. Delete, Disable, Remove ve MailBox üzerindeki Mail Forward, Quota ların yetki verilen kullanıcı grubun tarafından değiştirilmesinin engellenmesi.
Kısaca Exchange 2010 içerisindeki yetki gruplarının, bir kopyasını alıp, içinde gerekli değişiklikleri yapıp ilgili gruba atayarak yetkilendirme yapılır.

1. Kurulumla beraber gelen grupların yetkileri yeni oluşturulan yetki gruplarına aşağıdaki gibi kopyalanır.

Get-ManagementRole "Distribution Groups" | New-ManagementRole "YardimMasasi Distribution Groups"
Get-ManagementRole "Mail Recipient Creation" | New-ManagementRole "YardimMasasi Mail Recipient Creation No Delete"
Get-ManagementRole "Mail Recipients" | New-ManagementRole "YardimMasasi Mail Recipients No Delete"


2. Yeni oluşturulan yetki grupları içindeki silme gibi yetkiler aşağıdaki komutlarla alınır.
Burada -like yada -eq kullanılabilir. Komutun hangi yetkileri sileceğini görmek için sonuna -Whatif eklenebilir.

Get-ManagementRole "YardimMasasi Distribution Groups" | Get-ManagementRoleEntry | where {$_.name -like "Remove-DistributionGroup"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Distribution Groups" | Get-ManagementRoleEntry | where {$_.name -like "Remove-DynamicDistributionGroup"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Distribution Groups" | Get-ManagementRoleEntry | where {$_.name -like "Disable-DistributionGroup"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Distribution Groups" | Get-ManagementRoleEntry | where {$_.name -like "Write-AuditAdminLog"} | Remove-ManagementRoleEntry


Get-ManagementRole "YardimMasasi Mail Recipients Creation" | Get-ManagementRoleEntry | where {$_.name -like "Remove*" } | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients Creation" | Get-ManagementRoleEntry | where {$_.name -like "Write*" } | Remove-ManagementRoleEntry

Silinen izinler
Remove-RemoteMailbox
Remove-Mailbox
Remove-MailUser
Write-AdminAuditLog
Remove-MailContact

Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "set-mailboxpermission"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "Disable-*"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "Remove-*"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "Write-AdminAuditLog"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "Clear-ActiveSyncDevice"} | Remove-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients" | Get-ManagementRoleEntry | where {$_.name -like "Add-MailboxFolderPermission"} | Remove-ManagementRoleEntry


Yeni oluşturlan gruplardaki yetkiler aşağıdaki komutla görülebilir.
Get-ManagementRole "YardimMasasi Distribution Groups" | Get-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipient Creation No Delete" | Get-ManagementRoleEntry
Get-ManagementRole "YardimMasasi Mail Recipients No Delete" | Get-ManagementRoleEntry

3. İstenmeyen diğer yetkilerin alınması. Örnek olarak Bir Mailbox üzerinde Forward, Kota düzenleme yetkileri

Set-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" -Parameters ForwardingAddress,ForwardingSmtpAddress -RemoveParameter
Set-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" -Parameters ProhibitSendQuota,ProhibitSendReceiveQuota,IssueWarningQuota -RemoveParameter
Set-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" -Parameters RetainDeletedItemsFor,RetainDeletedItemsUntilBackup -RemoveParameter
Set-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" -Parameters GrantSendOnBehalfTo -RemoveParameter
Set-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" -Parameters SharingPolicy -RemoveParameter

Aşağıdaki komutla yetki verilen komutla uygulanabilir parametrenin izinin kaldırılğı kontrol edilebilir. Komutun çıktısı olmamalı. 
Get-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-Mailbox" | where {$_.parameters -eq "ForwardingAddress"}

Biraz açıklama ihtiyacı hissediyorum. ManagementRoleEntry içindeki kullanılabilir komutlar aşağıdaki gibi görülebilir. 
Tüm uygulanabilir komutların görülmesi için aşağıdaki komutlar uygulanabilir.
Get-ManagementRoleEntry "YardimMasasi Mail Recipients\*"
Get-ManagementRole "YardimMasasi Mail Recipients" | fl RoleEntries

Belirli bir komutun parametrelerinin görülmesi ile, verilen yetklilerle uygulanabilir komutların içindeki hangi parametrelerin kısıtlanabileceği belirlenebilir.
Get-ManagementRoleEntry "YardimMasasi Mail Recipients\Set-User" | paramaters
get-help set-user -Detailed | more

get-help çıktısındaki parametrelerin ismi yazılarak yetkiler kısıtlanabilir.


4. Yetki verilecek kullanıcıların yada grupların üye yapılacağı Management Role Group oluşturulması, yeni oluşturulan Management Role Groupların, Role Group a bağlanması ve yetki verilecek Active Directory Grubunun RoleGroup a üye yapılması
New-RoleGroup -Name "Test" -Roles "YardimMasasi Distribution Groups","YardimMasasi Mail Recipient Creation","YardimMasasi Mail Recipients" -Members "Yardim Masasi Grubu"

Örnek olarak Set-Mailbox komutu parametrelerini aşağıda sıraladım.
AcceptMessagesOnlyFrom,
AcceptMessagesOnlyFromDLMembers,
AcceptMessagesOnlyFromSendersOrMembers,
AddOnSKUCapability,
AddressBookPolicy,
Alias,
AntispamBypassEnabled,
ApplyMandatoryProperties,
Arbitration,ArbitrationMailbox,
ArchiveDatabase,ArchiveDomain,
ArchiveName,
ArchiveQuota,
ArchiveStatus,
ArchiveWarningQuota,
AuditAdmin,
AuditDelegate,
AuditEnabled,
AuditLogAgeLimit,
AuditOwner,
BypassLiveId,
BypassModerationFromSendersOrMembers,
CalendarLoggingQuota,
CalendarRepairDisabled,
CalendarVersionStoreDisabled,
ClientExtensions,
Confirm,
CreateDTMFMapCustomAttribute1,
Database,
DefaultPublicFolderMailbox,
DeliverToMailboxAndForward,
DisplayName,DomainController,
DowngradeHighPriorityMessagesEnabled,
DumpsterMessagesPerFolderCountReceiveQuota,
DumpsterMessagesPerFolderCountWarningQuota,
EmailAddresses,EmailAddressPolicyEnabled,
EnableRoomMailboxAccount,
EndDateForRetentionHold,
EvictLiveIdExtensionCustomAttribute1,
ExternalOofOptions,
FederatedIdentity,
FolderHierarchyChildrenCountReceiveQuota,
FolderHierarchyChildrenCountWarningQuota,
FolderHierarchyDepthReceiveQuota,
FolderHierarchyDepthWarningQuota,
Force,
ForwardingAddress,
ForwardingSmtpAddress,
GMGen,
GrantSendOnBehalfTo,
HiddenFromAddressListsEnabled,
IgnoreDefaultScope,
ImListMigrationCompleted,
ImmutableId,
IsExcludedFromServingHierarchy,
IssueWarningQuota,
JournalArchiveAddress,
Languages,
LinkedCredential,
LinkedDomainController,
LinkedMasterAccount,
LitigationHoldDate,
LitigationHoldDuration,
LitigationHoldEnabled,
LitigationHoldOwner,
MailboxMessagesPerFolderCountReceiveQuota,
MailboxMessagesPerFolderCountWarningQuota,
MailboxPlan,
MailRouting,
MailTip,
MailTipTranslations,
ManagedFolderMailboxPolicy,
ManagedFolderMailboxPolicyAllowed,
Management,
MaxBlockedSenders,
MaxReceiveSize,
MaxSafeSenders,
MaxSendSize,
MessageTracking,
MessageTrackingReadStatusEnabled,
MicrosoftOnlineServicesID,
ModeratedBy,
ModerationEnabled,
Name,
NetID,
NewPassword,
OABGen,
Office,
OfflineAddressBook,
OldPassword,
OriginalNetID,
Password,
PrimarySmtpAddress,
ProhibitSendQuota,
ProhibitSendReceiveQuota,
PstProvider,
PublicFolder,
QueryBaseDN,
QueryBaseDNRestrictionEnabled,
RecipientLimits,
RecoverableItemsQuota,
RecoverableItemsWarningQuota,
RejectMessagesFrom,
RejectMessagesFromDLMembers,
RejectMessagesFromSendersOrMembers,
RemoteAccountPolicy,
RemoteRecipientType,
RemoveManagedFolderAndPolicy,
RemovePicture,
RemoveSpokenName,
RequireSecretQA,
RequireSenderAuthenticationEnabled,
ResetPasswordOnNextLogon,
ResourceCapacity,
ResourceCustom,
RetainDeletedItemsFor,
RetainDeletedItemsUntilBackup,
RetentionComment,
RetentionHoldEnabled,
RetentionPolicy,
RetentionUrl,
RoleAssignmentPolicy,
RoomMailboxPassword,
RulesQuota,
SamAccountName,
SCLDeleteEnabled,
SCLDeleteThreshold,
SCLJunkEnabled,
SCLJunkThreshold,
SCLQuarantineEnabled,
SCLQuarantineThreshold,
SCLRejectEnabled,
SCLRejectThreshold,
SecondaryAddress,
SecondaryDialPlan,
SendModerationNotifications,
SharingPolicy,
SimpleDisplayName,
SingleItemRecoveryEnabled,
SKUAssigned,
SKUCapability,
StartDateForRetentionHold,
SuiteServiceStorage,
TenantUpgrade,
ThrottlingPolicy,
Type,
UMDataStorage,
UMDtmfMap,
UMGrammar,
UsageLocation,
UseDatabaseQuotaDefaults,
UseDatabaseRetentionDefaults,
UserCertificate,
UserPrincipalName,
UserSMimeCertificate,
WhatIf,
WindowsEmailAddress,
WindowsLiveID,