Wednesday, November 20, 2013

Exchange 2010 Circular Logging , Circular logging parameter change will not be applied on this database before it is remounted. Dismount and remount database….

You would like to enable CL ( Circular logging) on the production Exchange Servers, perhaps you start moving mailboxes and realized you need to turn on circular login, due to concerns with possible disk space issues, especially with large mailboxes.

Now if you have prior versions of Exchange experience you will quickly remember enabling and disabling it requires IS ( Information store ) service to be restarted in order for CL to go into effect & kick in.

Or perhaps you remember seeing this with Exchange 2010

--------------------------------------------------------
Microsoft Exchange Warning
--------------------------------------------------------
The following warning(s) occurred while saving changes:

Set-MailboxDatabase
Completed

Warning:
Circular logging parameter change will not be applied on this database before it is remounted. Dismount and remount database "db51elt" in order to apply this parameter change.

image

From PS we would enable CL with one Liner

###Enabling CL on the Specific DB

Get-MailboxDatabase db01elt | Set-MailboxDatabase -CircularloggingEnabled:$true

###Disabling CL on the Specific DB

Get-MailboxDatabase db01elt | Set-MailboxDatabase -CircularloggingEnabled:$False

Now if we like to enable CL on all the databases we would do this easily

$Alldb = Get-MailBoxDataBase
$Alldb | Set-MailboxDatabase -CircularloggingEnabled:$True

image

*** As you can see we get the same warnings***

If you like to disable it on all Databases ….

$Alldb = Get-MailBoxDataBase
$Alldb | Set-MailboxDatabase -CircularloggingEnabled:$False

Now why we are getting warning from ONLY one single DATABASE when we turn on CL on all the databases ? the answer is here in this picture. one DB in here does not have any other DB copy….

image

Now we need to quickly remember this

Circular Logging TYPE

What is it ?

Managed BY

CRCL continuous replication circular logging Microsoft Exchange Replication Service
JET CL Traditional circular logging JET circular logging is performed by Information Store

### Jet CL ( Single Database , with or without DAG environment )

Enabling and Disabling Traditional CL requires, Database to be dismounted and mounted. in this case the database does not have any copy within the DAG environment ( see picture above)

### CRCL ( Database in the DAG has its copy on another DAG member)

If the database has a copy , then CRCL comes into play and enabling & disabling it wont require any administrator intervention.

Good news if you are in DAG environment you can take advantage of CRCL , meaning no need to touch database after enabling or disabling CRCL = this will keep end users and your managers happier IMO (-:

Here is more comprehensive information on Scott Article !!!

http://blogs.technet.com/b/scottschnoll/archive/2011/06/27/circular-logging-and-mailbox-database-copies.aspx


Oz Casey, Dedeal

Exchange Server North America MVP

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)
--------------------------------------------------------

Exchange 2010 ContentIndexState Failed

Perhaps you wanted to fail over databases in DAG to another server which holds the healthy DB copy and realized you could not do it due to ContentIndexState  -eq failed.

To return the Content index state to normal healthy state we will need to run several PS scripts. Log into One of the Exchange 2010 server and run the below PS one liner script

If you have several servers you can assign variable to get-mailboxServer CMDlet and pipe that into another PS get property information based on your needs.

$Server = Get-MailBoxServer

$Server | Get-MailBoxDataBaseCopyStatus | Where {$_.ContentIndexState –eq “failed”}

We want to see not failed state but mounted & Health we could this

$Server | Get-MailBoxDataBaseCopyStatus | Where {$_.ContentIndexState -ne "failed"}

 

image

Now lets play a little bit what if I like to get the databases which are status “Mounted” I can use same logic

$Server | Get-MailBoxDataBaseCopyStatus | Where {$_.status -eq "Mounted"}

image

How about healthy ones ?

$Server | Get-MailBoxDataBaseCopyStatus | Where {$_.status -eq "healthy"}

image

Pretty cool isnt it ? if you like to see what other properties available for you to play you could easily do this

Get-MailboxDatabaseCopyStatus | get-member

 

image

image

Get back to our mission now to fixing index copy status, to figure out which servers do have the issue we could do something like this

$Status = Get-MailBoxDatabaseCopyStatus

$Status | Where {$_.ContentIndexState –eq “failed”} | UpdateDatabaseCopy -CatalogOnly

To verify everything is good ( all Servers)

$server = Get-mailboxserver

$Server | Get-MailboxDatabaseCopyStatus | fl name, contentindexstate

Now you get the ideal ,  and ready to make practice (-:

Oz Casey, Dedeal

Exchange Server North America MVP

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

Tuesday, November 12, 2013

How to Enable ISE Windows 2008 R2

 

Log onto Windows 2008 R2 Server run PS with administrator  privileges.

image

Import-Module ServerManager

image

Run fallowing command

Add-WindowsFeature PowerShell-ISE

image

image

Now type  below PS command and hit enter

powershell_ise.exe

 

image

 

image

there are number of great adds on for the ISE in-case you need them

https://social.technet.microsoft.com/wiki/contents/articles/2969.windows-powershell-ise-add-on-tools.aspx

Oz Casey, Dedeal

Exchange Server North America MVP

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

The requested search root Root.Ztekzone.com “microsoft security groups” is not within the scope of this operation. Cannot perform searches outside the scope ‘usa.Root.Ztekzone.com’

 

The reason you are receiving this error, you are running PowerShell command from Child domain and you like to see the Groups located on the root domain. In order to see these groups and continue to carry on your task all you need to do it to change your setting to view entire forest, this is almost same as opening ADUC and trying to located users or groups within the child domain, when these users or groups actually sits on the root domain. You don’t see it because your query is being performed on the child domain only.

see the settings

Get-AdServerSettings | fl

 

image

 

To change that

Set-AdServerSettings -ViewEntireForest $True

image

image

Now you wont have the errors if you carry on the same task

best

ocd

Oz Casey, Dedeal

( Exchange Server North America MVP)

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

 

 

Monday, November 11, 2013

One Liner Useful Random Collection of snippets # 1

 

Below are collection of one Liner snippets you can copy and paste them into EMS and use it for your needs. Please make sure you understand the power of using Pipe ( | ) and Set commands  in PS.

### List Mailbox Databases

Get-MailboxDatabase

image

###Locate DB which has the string  the *22*  ( locate a specific DB )

Get-mailboxdatabase  *22*

###Enabling CL on the Specific DB

Get-MailboxDatabase db01elt | Set-MailboxDatabase -CircularloggingEnabled:$true

###Disabling CL on the Specific DB

Get-MailboxDatabase db01elt | Set-MailboxDatabase -CircularloggingEnabled:$False

### After CL is Enable in order CL to work you need to Dismount and Mount the database

This snippet will dismount DB01elt and it will NOT ask confirmation

###Enabling CL on the ALL Databases

Get-MailboxDatabase | Set-MailboxDatabase -CircularloggingEnabled:$true

###Disabling CL on the ALL Databases

Get-MailboxDatabase | Set-MailboxDatabase -CircularloggingEnabled:$false

### Dismount all Databases

Get-MailboxDatabase | Dismount-Database -Confirm:$false

### Mount all Databases

Get-MailboxDatabase | Mount-Database -Confirm:$false

### Dismount Specific Database

Get-MailboxDatabase db01elt | Dismount-Database -Confirm:$False

### Mount Specific Database

Get-MailboxDatabase db01elt | Mount-Database -Confirm:$False

### CL Enabled

Get Databases CL is enabled

Get-MailboxDatabase | where {$_.CircularLoggingEnabled -eq $true}

image

### CL is NOT Enabled

Get Databases CL is NOT enabled

Get-MailboxDatabase | where {$_.CircularLoggingEnabled -eq $False}

 

image

More to come……….

Oz Casey, Dedeal

( Exchange Server North America MVP)

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

Wednesday, November 6, 2013

Microsoft Exchange VSS writer is in a failed retryable state!!!

 

If you are running Exchange 2010 I am pretty sure one way or other you are familiar with Exchange VSS Writer and how it effects your ability to back up your Exchange servers.

When VSS Writer is in Error stage the backup software won't be able to take successful backup and most likely backup team will open ticket and ask Exchange team to fix the VSS writer so their software can perform the backups.

If you are in large enterprise environment where you have backup team , windows team and Exchange team now you are in the Chicken and egg war as the backup tram will blame on Exchange writer and Exchange team will ask Windows Team to fix the issues (-: and as you can see things will get quite interesting.

As we already know VSS technology has been around quite a bit and third party Vendors are relaying on Microsoft native VSS writer to perform backup functions when it comes to backing up Exchange 2010 Application.

Now before we move forward more let's make sure we get the basic done.

Exchange Server application will provide two different VSS Writers

 

Writer Name

Usage

Utility to see the writers Status

Exchange Information Store VSS writer

Backup of Mounted DB / Active

Open CMD with Administrator privileges on the Exchange servers issue

VSSadmin List Writers ( Command )

Exchange Replication Service VSS writer Backup of Healthy DB / Passive

Open CMD with Administrator privileges on the Exchange servers issue

VSSadmin List Writers ( Command )

 

Exchange Server application will provide two different VSS Writers

 

Writer Name

Writer Location

VSS writer ID

Usage

Microsoft Exchange Writer

Store Writer

Built into the Exchange Information store

( MSExchangeIS = store.exe )

{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}

Store Writer is used by Mounted / Active Databases

Microsoft Exchange Replica Writer

 

 

Build into Replication Service

( MSExchangeRepl = msexchangerepl.exe )

{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7} The Replication Writer is used by Healthy /Passive Databases

 

How to deal with failing VSS Exchange Writer issues ?

image

The sort and most common answer is going to be re-start the service which the writer is associating with. As you can tell re-starting replication service might be acceptable at most of the work environments as it does not cause any end user disruption. However dealing with IS service is different ball game, even with Exchange 2010 DAG environment, most places will be hesitant to re-start this service ( Failing over to DAG member is for sure valuable option, draining one server and deal with it make sense) .

Another option could be dedicating a Exchange 2010 Server for backup and availability services ( putting activation block , on these servers and deal with them as the issues occur).

Beyond this, my point of view is that, it is real hard to convince the third party vendors to clean up their backup software code and not to cause Exchange writer to fail and keep pointing fingers back and forth. If you been there you would understand what I mean.

Reference

http://msdn.microsoft.com/en-us/library/bb204080(v=exchg.140).aspx

Oz Casey, Dedeal

( Exchange Server North America MVP)

MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)