Tuesday, June 20, 2017

Quickly Checking Account Lockout State

Hi folks,

In this very quick post I wanted to share with you a quick retrieving of the account lockout status for an user account in the AD. It can be found by running the below simple command:

Get-ADUser "User1" -Properties LockedOut |select Name,LockedOut

And will result in a simple output as below:

If the value for the LockedOut is False then account is not locked and if it is True, then it is locked. Which is pretty obvious.


Tuesday, June 6, 2017

Cumulative Updates and Recovery Databases

Hi folks,

I want to share about another adventure which I have had with the installation of the latest CU on Exchange 2016. During installation of CU and in particular during configuration of the Mailbox services component installation failed with the error as below:

In couple of words at this stage installation is checking availability of the arbitration mailboxes, and if they're not available, it tries to create them and configure quotas and SCL related settings.

According to this error for some reason Exchange setup program has attempted to configure arbitration mailbox in the recovery database. Probably it was the first retrieved from the list of DBs located on the server and since recovery DB can't store mailboxes setup program had failed.

In my case to solve it I had to remove it by running a command similar the the below:

Get-MailboxDatabase "RecoveryDB001" |Remove-MailboxDatabase -Confirm:$false

After this installation should proceed.

However in my cases there was a problem with AD replication and it was not properly removed from the AD. Therefore the error above would still pop up at every time I tried to re-run the installation program. In the log I have discovered domain controller which install program tried to use and navigated to the path of the DB as below:

CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=CONTOSO,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com

After manual deletion of a DB object from the AD installation had proceeded successfully.


Save Your Time Typing Local Hostname

Hi folks,

This is probably my shortest blog post. If you are just lazy as I am and if you employ a hard-to-remember naming convention for your computers and servers there is a default variable $env:COMPUTERNAME which retrieves local computers hostname. So for example if you want to run a command to check health of the local Exchange server this command will be at your disposal:

Get-ServerComponentState -Identity $env:COMPUTERNAME


Friday, June 2, 2017

Another BackEnd Site Fixing (This Time for PowerShell)

Hi folks,

I have already shared in this post about my adventures with Exchange Management Shell and other CAS protocols which are caused by misconfigured back end web site on an Exchange 2016 Mailbox server.

Recently I have had yet another adventure. When launching Exchange Management Shell I saw the following error and PowerShell connected to another Exchange server in the same AD site:

Furthermore, I have discovered in the Application log the error event 1003 for Microsoft Front End HTTP Proxy followed by the warning event 1309 for ASP.NET:

My investigation has lead me to this article according to which this is caused by misconfigured certificate on the Exchange Back End web site. This can be easily seen when the binding for port 444 is checked:

All you need to do is to select the self signed certificate with the friendly name of "Microsoft Exchange" and click OK button:

After this you will need to run IIS reset or restart the server after which Exchange Management Shell can be accessed and used again.


Thursday, June 1, 2017

Mailbox Exports Preventing Exchange 2010 Uninstallation

Hi folks,

In this quick post I would love to share with you about my recent adventure. When uninstalling Exchange 2010 binaries I faced the following error:

This error is self-explanatory and the below command  should be executed for each mailbox database that is displayed in error message:

Get-MailboxExportRequest | ?{ $_.RequestQueue -eq "DB01" }. | Remove-MailboxExportRequest 

After which mailbox database can be removed:

Remove-MailboxDatabase DB01 -Confirm:$false