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,

13 Mart 2014 Perşembe

SQL Server Cluster Ortamında User Database, System Database, Reporting Server veritabanlarının (master, model, msdb) yeni sürücüye taşınması.

Yeni Diskler tüm Cluster üyesi sunuculara yada tekil sunucuya tanıtılır.
Herhangi bir cluster üyesi sunucudan Disk Management ile disk Online ve Initialize edilir ve Formatlanır. Disk Diğer Cluster üyesi sunucularda kullanılmayan sürücü harfi belirlenir.
Disk tekrar offline yapılır.
Failove Cluster Manager konsolunda Storage başlığına sağ tıklanır ve Add Storage seçilir ve disk eklenir.
Service and Application altında diskin ekleneceği SQL Cluster Resource üzerinde sağ tıklanır ve Add Storage seçilir.

Eklenen disk Other Resource altında SQL Server (InstanceName) özelliklerinde Dependencies e eklenir.

OK butonuna tıklanır. SQL Server Resource Offline ve Online yapılarak yapılana ayarların etkinleşmesi sağlanır.

Auditlerin taşınması:
Eğer Audit yapılandırılmış ise SQL Server Man Consolde Security --> Audits altındaki her tanımlama için, sağ tıklanır Disable Audit seçilir. Sonra Audit özelliklerinde teki log dosyalarının konumları değiştirilir.Önceki log dosyaları yeni diskteki belirlenmiş klasörlere kopyalanır. Enable Audit ile loglama aftifleştirilir. Eğer fazla dosya varsa bu işlem daha sonraya bırakılabilir.

User Db lerin taşınması:
Taşınacak veritabanları Deatach edilip yeni konumlarına kopyalanıp attach edilir.

TempDb nin taşınması:
Önce Temp dblerin konumunu değiştiriyoruz. Taşınacak sürücünün T olduğunu düşünelim.

USE master
GO
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'T:\TmpDATA1\tempdb.mdf') 
GO 
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'T:\TmpDATA1\tempdb.ldf')
GO

SQL Servisi yeniden başlatılır. 

Temp dbler için Internet üzerinde konfigürasyon önerilerini bulabilirsiniz. Genel olarak CPU sayısı kadar tmp db açılması yada 8 den fazla yapılmaması gibi öneriler bulunmakta. Bu çalışmada 8 core olan bir sunucuda tempDb leri oluşturuyoruz. TempDb lerin oluşturulacağı sürücünün T: sürücüsü olduğunu düşünelim.


ALTER DATABASE tempdb

ADD FILE (NAME = tempdb1, FILENAME = 'T:\TmpDATA1\tempdb1.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb2, FILENAME = 'T:\TmpDATA1\tempdb2.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb3, FILENAME = 'T:\TmpDATA1\tempdb3.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb4, FILENAME = 'T:\TmpDATA1\tempdb4.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb5, FILENAME = 'T:\TmpDATA1\tempdb5.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb6, FILENAME = 'T:\TmpDATA1\tempdb6.mdf', SIZE = 1024);

ALTER DATABASE tempdb

ADD FILE (NAME = tempdb7, FILENAME = 'T:\TmpDATA1\tempdb7.mdf', SIZE = 1024);

GO

SQL Servisi yeniden başlatılır. Dosyaların verilen konumda oluştuğu kontrol edilebilir.


Sistem Veritabanlarının Taşınması:
Sistem veritabanları taşımak için aşağıdaki Query uygulanır. 

ALTER DATABASE  Model  MODIFY FILE ( NAME = modeldev, FILENAME = 'K:\Data1\model.mdf' )
ALTER DATABASE  Model  MODIFY FILE ( NAME = modellog , FILENAME = 'K:\Data1\modellog.ldf' )

ALTER DATABASE  MSDB MODIFY FILE ( NAME = MSDBData, FILENAME = 'K:\Data1\MSDBData.mdf' )
ALTER DATABASE  MSDB MODIFY FILE ( NAME = MSDBLog , FILENAME = 'K:\Data1\MSDBLog.ldf' )

SQL Servisi durdurulur.
Dosyalar ilgili konuma kopyalanır.

Master Db nin taşınamsı için
SQL Server Configuration Manager açılır. SQL Server Services başlığına tıklanır. Sağdaki pencerede SQL Server (InstanceName) özelliklerine girilir. Advanced tabında Start Parameters taşınacak klasörlerin yolları
yazılarak düzenlenir.

Startup Parameters ilk hali
-dL:\MSSQL10_50.MSSQLSERVER2\MSSQL\DATA\master.mdf;-eL:\MSSQL10_50.MSSQLSERVER2\MSSQL\Log\ERRORLOG;-lL:\MSSQL10_50.MSSQLSERVER2\MSSQL\DATA\mastlog.ldf

Düzenlenen hali
-dK:\Data1\master.mdf;-eK:\Logs\ERRORLOG;-lK:\Data1\mastlog.ldf

Dump Directory parametresindeki klasör yolu da düzenlenir.

Aşağıdaki Query ile MasterDB nin konumunun doğru olduğu gözlemlenir.
SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID('master');
GO

SQL Servisi başlatılır.

Log Konumlarının değiştirilmesi.
SQL Management Studio açılır. SQL Server Agent altında Error Logs üzerinde sağ tıklanır ve Configure seçilir. Ekrana gelen pencerede ilgili ayarlar yapılandırılır.

Analysis Service Taşınması:
SQL Management Studio açılır,Analysis Service e bağlanılır. 










Analysis Server Özelliklerinde BackupDir, DataDir, LogDir yolları düzenlenir.


Management Studio kapatılır. Analysis Service durdurulur. OLAP klasörü yeni sürücüye kopyalanır.
Tüm Cluster üyesi sunucularda aşağıdaki Registry ayarları yapılır.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSSQLServerOLAPService
yada
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSOLAP$InstanceName anahtarında ImagePath yeni sürücü yolu olarak düzenlenir.


OLAP\Config\msmdsrv.ini dosyası açılır ve yol tanımları düzenlenir.

<ConfigurationSettings>
    <DataDir>K:\OLAP\Data</DataDir>
    <LogDir>K:\OLAP\Log</LogDir>
    <BackupDir>K:\OLAP\Backup</BackupDir>
     <AllowedBrowsingFolders>K:\OLAP\Backup\|K:\OLAP\Log\</AllowedBrowsingFolders>
    <TempDir>K:\OLAP\Temp</TempDir>


Reporting Services Taşınması:
Aynı sunucu içinde başka bir sürücüye taşıma yapacağımız için ReportingServer ve ReportingServTempDB veritabanları Detach edip, ReportServer.mdf, ReportServer_log.ldf, ReportServerTempDB, ReportServerTempDB_log.ldf dosyaları yeni konuma kopyalanır ve atach edilir. Report Server URL sine bağlanılır. Sorun olursa Reporting Services Configuration Manager da Database başlığı altında Change Database butonu tıklanır ve ekrana gelen pencerede Choose an existing report server database seçilir ve Next butonuna tıklanır. Sonraki pencerede SQL Server üzerinde yönetim yetkisine sahip SQL kullanıcısı yada zeten login olmuş kullanıxı yetkisi ile Report Server a bağlanılır. Test Connection ile bağlantı doğrulanır. Credentials bölümünde Credentials seçilerek ayarlar bitirilir ve tekrar bağlantı test edilir.


Default Database Location:

SQL Management Studio açılır. Sunucu adı üzerinde sağ tıklanır, ekrana gelen pencerede Database Settings de yeni sürücü ve klasör yolu düzenlenir.


Failover Cluster Manager açılır ve Devreden çıkarılacak Diskin ilişkisi, SQL Server (Instance Name) özelliklerinde, Dependicies tabında seçilerek Delete butonu ile kaldırılır ve Disk Offline yapılır.SQL Server Active Node, uygun olan diğer bir Node üzerine alınır. Hatalar gözlemlenir. Eğer hata görülmüyorsa Failover Cluster Manager, Service and applications altında SQL Server (Instance Name) seçililir ve detay penceresinde Disk Drives altında ilgili disk seçlerek Remove from SQL server seçilerek işlem bitirilir.

Move master db sql cluster






27 Eylül 2013 Cuma

Windows Server 2012 WorkGroup ve Domain Member Server DCOM,WMI Yetkilendirmesi

Domain Üyesi Olmayan bir Windows Server 2012 sunucudan WMI ile Log okuma yetkilerinin yapılandırılması
WMI – Windows Management Intrumentation : İşletim sistemi üzerindeki tüm işlemlerin yönetilmesini, tüm objelere erişilmesini sağlar. Büyük ağlarda sistemin tek merkezden yönetilmesinde standart olarak kullanılan teknolojidir.
http://technet.microsoft.com/en-us/library/ee692772.aspx adresinden ön bilgiler edinilebilir. Zaten burada tekrar yazmaya gerek yok.
Buradaki amaç sunucu üzerinde yönetimsel yetki vermeden bir log yazılımı için, Security Log lara okuma yetkisi ile erişim sağlanması.
Domain üyesi olmayan Windows Server 2012 sunucuda yerel bir kullanıcı hesabı açılır.
1.       Adım DCOM yapılandırması
Distributed COM sunucu, yerel sistem üzerindeki yazılım bileşenleri ile ağ üzerindeki diğer sistemlerle olan iletişim için Microsoft tarafından geliştirilmiş teknolojidir.
Windows + R --> Run --> dcomcnfg yazılır ve Ok butonuna tıklanır. Ekrana gelen Component Services penceresinde Component Services à Computers à My Computer üzerinde sağ tıklanır ve açılan menüden Properties seçilir.
Ekrana gelen My Computer Properties penceresinde COM Security tabında Launch and activation bölümünde Edit limits tıklanır ve açılmış kullanıcı hesabı aşağıdaki gibi yetkilendirilir.

Aynı şekilde Access Permissions bölümünde de aşağıdaki resimde görüleceği şekilde açılmış olan kullanıcıya verilir.
Ayrıntılı bilgi için.

DCOM Config başlığı tıklanır ve Windows Management and Instrumentation üzerinde sağ tıklanır ve açılan menüden Properties seçilir. Security tabunda Launch and Activation Permissions bölümünde Edit butonuna tıklanır. İlgili kullanıcıya Local,Remote Launch ve Local, Remote Activation izinleri verilir.

2.       WMI ayarları
Windows + R --> Run --> wmimgmt.msc yazılır ve Ok butonuna tıklanır. Ekrana gelen pencerede WMI Control (Local) başlığı üzerinde sağ tıklanır ve açılan menüden Properties seçilir. WMI Control (Local) Properties penceresinde Security tabında Root altında CIMV2 seçilir ve Security butonuna tıklanır. Kullanıcı için execute Methods, Enable Account ve Remote Enable izinleri verilir.



3.       Service Control Manager yapılandırması
Windows Servislerini çalıştıran ve durduran işleme denir. Sistem açılışında wininit tarafından çalıştırılır. WMI ile DCOM vasıtasıyla sisteme erişim yapıldığında Event Log lara erişmede gerekli servisin  kullanılabilmesi için yetki verilmesi gerekebilir.
sc sdshow SCMANAGER
D:(A;;CC;;;AU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
komutu ile olan yetkiler yada yapılandırma görülebilir.
Aşağıdaki komutla da yetki verilecek kullanıcının SID i yazılarak komut uygulanır.

sc sdset  SCMANAGER  D:(A;;CC;;;AU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPRC;;;S-1-5-21-2571268136-16045641-3409490944-1002)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

4.       Event Log İzinlerinin yapılandırılması
Wevtutil aracı ile gerekli yetkiler verilebilir. Öncelikle Event Log okuma yetkisi için wmic komutu ile açılmış olan kullanıcının SID bilgisi öğrenilir.
wmic useraccount get name,sid
C:\Windows\system32>wmic useraccount get name,sid
Name                   SID
Administrator  S-1-5-21-2571268136-16045641-3409490944-500
Guest                   S-1-5-21-2571268136-16045641-3409490944-501
lculocal                S-1-5-21-2571268136-16045641-3409490944-1002

wevtutil komutu ile önce olan izinler bir metin dosyasına çıkarılır.
C:\Users\Administrator> wevtutil gl "Security" > Desktop\security.txt
Oluşan dosyanın içindeki channel Access kısmındaki yetki tanımlamaları görülebilir.

Kullanıcının SID ve yetkileri wevtutil aracı ile komut satırından yazılarak verilir.
wevtutil sl "Security" /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-21-2571268136-16045641-3409490944-1002)



İlgili kullanıcının SID i eklenmiş hali.


5.       Yerel Bilgisayardaki ve Ağ üzerindeki Güvenlik Duvarı ayarları
49152-65535 arası portlar Windows Server 2008 ve sonrası işletim sistemlerinde geçerli olarak, tüm ağ içindeki wmi trafiği geçecek firewall lar üzerinde izin verilir.  İşletim sistemi üzerindeki Güvenlik Duvarlarında da aynı şekilde port izinlerinin verilmesi gerekir.
Yerel bilgisayarda WMI bağlantısı için statik port belirlenebilir. Bu yol geniş ağlarda daha tercih edilebilir ve güvenli bir yol olacaktır.
Aşağıdaki resimde görüleceği üzere Run à dcomcnfg çalıştırılır. Component services  à Computers à My Computer à DCOM Config seçilir. Sağdaki bölümde Windows Management and Instrumentation özelliklerinde Endponts sekmesine gidilir. Connection-oriented TCP/IP özelliklerinde Use static endpoint kısmına port numarası verilir. OK butonlarına tıklanarak işlem bitirilir.

Yetkili kulanıcı ile açılan komut isteminde aşağıdaki komutlar verilir.
winmgmt -standalonehost
net stop "Windows Management Instrumentation"
net start "Windows Management Instrumentation"
netsh firewall add portopening TCP 51000 WMIFixedPort

6. Adım Kulanıcı için grup ve Security Policy ayarlarının yapılandırılması
Kullanıcı hesabı yerel makinedeki Event Log Reader grubuna üye yapılır.
Local Security Policy içinde Local Policies --> User Right Assignments --> Manage auditing and security logs izni ilgili kullanıcıya verilir.

Ayrıntılı bilgi için
Sorun giderme adımları aşağıdaki linkte ilk elden görülebilir.
http://msdn.microsoft.com/en-us/library/aa394603%28v=vs.85%29.aspx

WMI Portlarının yapılanrılması ile ilgili aşağıdaki linke bakabilirsiniz.
http://support.microsoft.com/kb/154596/en-us




20 Ağustos 2013 Salı

Microsoft Exchange transport service is running but the forefront agent is not registered hatası

Edge yada Sunucularda yüklü olan ForeFront Exchange Transport Servisi ile entegre çalışır. Bazı durumlarda sunucular yeniden yada Exchange Servisleri yeniden başlatıldığında ForeFront Exchange Transport Servisine Entegre (Register)​ olamayabilir. Bu durum SCOM alarmları, ForeFront konsolundaki "ms exchange transport service is running but the forefront agent is not registered", Spam mesajların artması, Event Viewer da tespit edilebilir.  Bu durumda Frofront for exchange yüklü olan sunucuda  
Microsoft Exchange Transport ve Microsoft Forefront server Protection Controller servisleri durdurulur.
C:\Program Files (x86)\Microsoft Forefront Protection for Exchange Server klasörüne gidilir.
FSCUtility.exe /enable komutu uygulanır.

Microsoft Exchange Transport ve Microsoft Forefront server Protection Controller servisleri başlatılır.
FSCUtility.exe /status komutu uygulanır ve aşağıdakimesajın komut çıktıaının en alt satırında görülürse sorunun giderildiği anlaşılır.
"Status:  Microsoft Forefront Protection currently integrated."

6 Ağustos 2013 Salı

Mailbox Size Limit - Mailbox Kota değerlerinin hemen aktif olmasının sağlanması

  • Geçerli olarak 2 saatte bir kota ve diğer mailbox lar ile ilgili bilgiler yenileniyor. Bu süre Registry ayarları ile düzenlenebiliyor. Tabii bu sürenin beklenmesi bazen mümkün olmayabilir. Information Store Servisnin yeniden başlatılması ayarların hemen geçerli olmasını sağlayacaktır. Ancak bu her zaman uygulanabilir bir çözüm olmayabilir.Bu durumda hemen uygulanabilecek diğer çözümler.
    1. DAG yapısında kullanıcının mailbox ının olduğu veritabanının diğer sunucuda Information Store Servisinin yeniden başlatılarak aktif edilmesi, büyük yapılarda bu durum gözetilerek genel olarak kampanya, tanıtım, işten ayrılan personellerin, sistem mail lerine ait mailboxların/veritabanlarının bu sunucuda aktif tutulması ile sistemde önemli bir etki yaratmadan bu tip işlemler yapılabilir.
    2. Kullanıcın Mailbox ının Disable edilmesi ve yeniden Enable edilmesi.
    3. Kullanıcının mailbox ının eğer mailbox küçükse diğer bir DB ye taşınması gibi.

    Ayrıntılı bilgiyi aşağıdaki adresten bulabilirsiniz.
    http://technet.microsoft.com/en-us/library/bb684892(v=exchg.80).aspx