Archive for the ‘Other’ Category

Balance mailbox count over Databases in Exchange 2007 and 2010

July 13, 2011 Leave a comment

Quick one;


Has a fab little script that will generate you a PS1 script to automate the mailbox count over multiple databases.


It only works with count so far – but the author says they will eventually re-write it to count size distribution also.


Handy as hell when mass-provisioning mailboxes using, oh I don’t know, Quest tools.


Bluescreen when saving to Shares with symbolic links (wide links) on a NetApp with Kaspersky installed

July 6, 2011 Leave a comment


Phew, what a title!


Had a customer recently who I was working with on doing a Netware –> NetApp CIFS migration utilising the Quest NDS tools.


All was working fine until one unlucky user attempted a save to a “Volume” share, they received a BSOD (repeatedly if they attempted again).


Now, to explain the NetApp CIFS configuration a little before ploughing on;


There are three shares created on the new NetApp;


VOL1 contains symbolic links (wide links) to SHARE1 and SHARE2 to allow historic applications looking for \\SERVER\VOL1\SHARE1\FILE1.EXT to function.


The customer was also mid-AV upgrade – from McAfee to Kaspersky.


When a Kaspersky-running client attempted to save (via Office for example) they received a BSOD with the header RDR_FILE_SYSTEM (27). A Bug check analysis didn’t give me any more info (aside from an “Access Violation” error further down).


Testing was done with different XP SP/Office levels before we turned to the AV – and sure enough it looked to be Kaspersky.


Kaspersky replied to the support email sent very promptly – outlining this was a known bug in XP/2003 but Microsoft had only released a patch for Server 2003. However they had their own patch – which seemed to resolve the issue. I believe it to be a private release patch at the moment – however they have said it will be written into the next point release Smile


Hope that helps someone anyway Smile

Cleaning up Distribution Lists after a Quest migration

April 19, 2011 Leave a comment

I noticed the other day that the Quest imported DL’s are a tad messy – lots of “userid.postoffice.domain” references.


Wrote the following to clean it up – should work without too much butchering into your own environment (but test first!)


$list=get-distributiongroup -ResultSize Unlimited
$global:progress = $list.count
foreach($line in $list){
$groupname = get-group $line
$emailaddress = $groupname.DisplayName
$emailaddress = $emailaddress.replace(" ","")

set-distributiongroup -Identity $line.DisplayName -EmailAddressPolicyEnabled $false
set-distributiongroup -Identity $line -SamAccountName $emailaddress -WindowsEmailAddress "$emailaddress@domain.local" -EmailAddresses "$"
set-distributiongroup -Identity $line.DisplayName -EmailAddressPolicyEnabled $true
Write-Progress -activity "Changing DL’s" -status "Percent complete: " -percentComplete (($i / $progress)  * 100)    

Quest Error Log PowerShell

April 18, 2011 Leave a comment

Some handy PowerShell cmdlets to parse out nastily long Quest NDS Migrator logs Smile



Select-String finalerror.txt -Pattern " Error  " | select Line | Format-Table -Wrap | Out-File errors.txt

Select-String finalerror.txt -Pattern "(The process cannot access the file because it is being used by another process)" | select Line | Format-Table -Wrap | Out-File err-inuse.txt

Select-String finalerror.txt -Pattern "(Invalid path, or path too long.)" | select Line | Format-Table -Wrap | Out-File err-toolong.txt

My Cloud!!!

April 1, 2011 Leave a comment
Categories: Blog, News, Other

Quest set-executionpolicy

March 4, 2011 Leave a comment

The Quest pre-requisites for GroupWise to Exchange migration (for Exchange 2010) has the following command;

Also: Depending on your environment, you may need to run this command to enable the
PowerShell layer using remote PowerShell:

get-executionpolicy | set-executionpolicy unrestricted

This is incorrect on Windows XP SP3 (PowerShell 2) and should be;

set-executionpolicy unrestricted

Enable / Disable Circular Logging on all databases

February 15, 2011 3 comments

There are some cases where Circular logging can be helpful – when migrating a large amount of email in from another system for example.

Get-StorageGroup | Set-StorageGroup -CircularLoggingEnabled $true

However, remember to re-disable it when done;

Get-StorageGroup | Set-StorageGroup -CircularLoggingEnabled $false

The Information Store must be restarted for either of these changes to take place – if you have a DAG then bounce over the active copy to another server (and back if required) to do this.

As correctly pointed out be MB the above is 2007 shell not 2010 (my bad!!)

The below is 2010 shell instead;

Get-MailboxDatabase | Set-MailboxDatabase -CircularLoggingEnabled $true

Bizarrely I must have been thinking of 2010 when I wrote this as I clearly mention DAG’s

However both require an Information Store restart – failover usually achieves this just make sure to take all databases on that node over and if in doubt then restart the service 😀

Sorry guys!!!!