Category Archives: Microsoft

All Microsoft Products (Exchange, SQL, Windows, Server)

Proxmox Mouse Not Working

I was copying Windows-based machines from VMWare and Hyper-V to proxmox – only the mouse stopped working after I would finish copying. It would get “stuck” in the bottom right hand corner of the screen – I could right-click and get a menu option to pop up, but other than that it was completely useless.

Now I’m a big fan of the command line, but on my windows hosts it’s a ton easier to have mouse control.

So I found this guy’s blog:

VMWare mouse problems – mouse stuck in bottom right corner

Basically do the following:

Open Regedit
HKLM\System\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}
Find the registry key “UpperFilters”
Remove the word msvmmouf – keep all other entries in there, but tidy up the spaces/returns if necessary
Under this 4D36E96F-E325-11CE-BFC1-08002BE10318 key, see if the other 01, 02, 03 etc folders have any mention of vmware. Delete the entire key if they do (example: highlight 02 and hit delete).
Reboot.
Profit.

I also had to remove a few vmware entries:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1001354

Delete the following:

HKEY_CLASSES_ROOT\Installer\Features\C2A6F2EFE6910124C940B2B12CF170FE
HKEY_CLASSES_ROOT\Installer\Products\C2A6F2EFE6910124C940B2B12CF170FE
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Features\C2A6F2EFE6910124C940B2B12CF170FE
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\C2A6F2EFE6910124C940B2B12CF170FE
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\C2A6F2EFE6910124C940B2B12CF170FE
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FE2F6A2C-196E-4210-9C04-2B1BC21F07EF}
HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.

I also got a Processr.sys issue (fix found here http://pve.proxmox.com/wiki/Processr.sys):
DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
processr.sys

Edit the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Processor
and
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Intelppm

Find the “Start” key

Change it from the default value (mine was 3) to a “4”

PCI Audit vs Exchange OWA

See the previous post for more details on the PCI audit. The Exchange server failed due to accepting SSL v2 certificates. V2 can lead to malformed requests and crap out the system. Unfortunately the audit doesn’t see the IPS/IDS that would block these attacks, or the SPAM filter with 443 forwarding that would also thwart such malformed requests. But I digress.

This *should* work with 2003 and 2008, but I’ve only tested on 2003. The system requires a reboot to verify changes.

Fire up regedit
Navigate to HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0
Under the registry group “Sever”, create a DWORD value named “Enabled” and verify that the value is set to 0x0.

Found this from Joson Zhou.

Check Database Sizes with PowerShell

Exchange 2007 check the database size with a powershell ps command.

I found this from Mike Pfeiffer’s Blog – thanks Mike.

Get-MailboxDatabase | foreach-object {add-member -inputobject $_ -membertype noteproperty -name mailboxdbsizeinGB -value ([math]::Round(([int64](get-wmiobject cim_datafile -computername $_.server -filter ('name=''' + $_.edbfilepath.pathname.replace("\","\\") + '''')).filesize / 1GB),2)) -passthru} | Sort-Object mailboxdbsizeinGB -Descending | format-table identity,mailboxdbsizeinGB

Exchange 2007 Error Updating Free/Busy Information

Exchange 2007 server was getting error eventID 8207:

Error updating public folder with free/busy information on virtual machine SERVERNAME. The error number is 0x80004005.

This is generally caused when you upgraded from 2000/2003 and didn’t put in replicas for the old email groups.
You can find out by opening the powershell and running the following:
Get-PublicFolder -Identity "\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY" -Recurse | fl name,Replicas

In my case I got

Well I had my Back-End Admins group (the one from exchange 2003) had a Replicas {} listed. The screen shot shows what it *should* look like.

To fix, just copy the FB information to your current public folder database:
Set-PublicFolder -Identity "\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY\EX:/o=lkj/ou=Back-End Admins" -replicas "EXCHANGESERVER\Second Storage Group\Public Folder Database"

And then, if you’re not a patient person, run outlook via the following:
outlook.exe /cleanfreebusy

Exmerge Exchange 2007

I know it’s 2012 and I’m writing about a server from 2007. It’s still fairly relevant. Exchange 2010 has some different functionality, so keep that in mind. I also know that we don’t use exmerge in post-2003 exchange environments. But I like the terminology.

Basically I had a user delete all of their calendar items and they were not showing up in the recover deleted items section of outlook. Good thing I had a backup. Bad thing was the database their email was on grew to 81GB. Worse thing was the email server and the backup server were connected by a measly 20mbps pipe.

Fast forward 11 hours and I had a copy of my EDB file on my exchange server. So now what?

Create a folder called C:\exch_recovery (or anything you want, just be sure to change the directories in the following commands)
Open the Exchange PowerShell. PowerShell is required as a recovery database is not visible by general users. It helps if you’re an exchange/domain/enterprise admin in this case.

Create the storage group for recovery
New-StorageGroup -Server SERVERNAME -LogFolderPath c:\exch_recovery -SystemFolderPath C:\exch_recovery -Name rsg -Recovery

I’m assuming you’re trying to recover something from your original Mailbox Database, otherwise change the mailbox name as appropriate.
Copy your BACKUP edb into the C:\exch_recovery\ directory.

Make sure that the database is in “clean shutdown” mode.
eseutil /mh path/to/edb/file.edb

If not in a clean shutdown mode, and you have the log files required, run the following (assuming the log files start with E01):
eseutil /r "e01" /l C:\path\to\log\files\directory /d C:\path\to\edb\file\directory

Now tell Exchange about this database
New-MailboxDatabase -MailboxDatabaseToRecover "Mailbox Database" -StorageGroup SERVERNAME\rsg -EdbFilePath "C:\exch_recovery\Mailbox Database.edb"

Allow your database to be restored
Set-MailboxDatabase -Identity "SERVERNAME\rsg\Mailbox Database" -AllowFileRestore:$TRUE

As this database is still hidden, run the following to mount it
Mount-Database -Identity "SERVERNAME\rsg\mailbox database"

The restore-mailbox command will merge the mail from the recovery database into the current database automatically. If the user does not exist, there will obviously be no merge and only a copy will occur
Restore-Mailbox -Identity "JOHN SMITH" -RsgDatabase "SERVERNAME\rsg\mailbox database"

Optional Cleanup
Remove-MailboxDatabase -Identity "SERVERNAME\rsg\mailbox database"
Remove-Storagegroup -Identity "SERVERNAME\rsg"

Is this the best way? Probably not, but it worked for me. The user now has their calendar items again and lost NO MAIL.

EDNS Server 2008 ASA

I had a customer who couldn’t resolve internal and external DNS records from his 2008 server. Turns out it was trying to use Extended DNS (EDNS).

Here’s the quick and dirty fix:
dnscmd /config /EnableEDNSProbes 0

Run that on your 2008 server and away with the problem!

Recover Deleted Emails Shared Mailbox

Everyone knows – or should know – that you can click on the recycle bin in outlook and then recover deleted emails. Unfortunately if you have a shared mailbox, Outlook does not allow (by default) the recovery of deleted messages. Welcome registry edit!

http://go.microsoft.com/?linkid=9643538
That’ll fix it for you.

Or you can add it manually:
Start Registry Editor.
Locate and then click the following key in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Options
On the Edit menu, click Add Value, and then add the following registry value:
Value name: DumpsterAlwaysOn
Data type: DWORD
Value data: 1

Looks like it’s in the HKLM\SOFTWARE\Wow6432Node\Microsoft\Exchange\Client\Options area now.
If options does not exist, just create a new key, then create the dword below
“DumpsterAlwaysOn”=dword:00000001