Tuesday, November 03, 2009

Excluding My Music from Roaming Profile

By popular demand, we recently rolled out iTunes to our users. An unexpected consequence of this was that our windows roaming user profile demands skyrocketed. We're talking over doubling basically over night. Our solution to it was to exclude the My Music folder from the roaming user profile. In general its probably best we don't have user's music collections sitting on expensive enterprise storage. To do this, create a new Group Policy. Drill down to Administrative Templates\System\User Profiles. Enable "Exclude directories in roaming profiles" and set the value to "My Documents\My Music". If there are other folders you'd like to exclude you can add them with a semicolon, eg "My Documents\My Music;Temp".

The good news is that once this policy is enabled, the next time that the user logs off, the user profile will sync without any of the Excluded directories. Even better is that it will remove existing "My Music" folder on the server copy of the roaming profile. Turn on Performance Monitor, setup some counters, and watch the drive space roll in.

Friday, April 10, 2009

Exchange Cluster Continuous Replication Failed

We had an Exchange 2007 Mailbox server's storage drive fill up due to log files not being cleaned out due to the backup job failing (don't ask). After we deleted the unnecessary log files and got the store back online, we weren't able to get its CCR passive node to bring 3 of the 5 stores online. We ran "Update-StorageGroupCopy -DeleteExistingFiles", and the process would complete. I would then show up as "healthy" with a "Get-StorageGroupCopyStatus" for a minute or so, and then fail. Checking the event log we got:
Event ID: 2059
Source: MSExchangeRepl
The log file 404149 for is missing on the production copy. Continuous replication for this storage group is blocked. If you removed the log file, please replace it. If the log is lost, the passive copy will need to be reseeded using the Update-StorageGroupCopy cmdlet in the Exchange Management Shell.
It wouldn't make sense straight away, as the database on the active node was "up to date" and shouldn't need those log files. After some research, I found that this was a result of the failed backup process. When we deleted the log files on the active node, we'd broken the replay log process (as we'd deleted log files that were created after the last time the database was backed up).

Given that we're using a backup solution that backs up the databases from the passive node, I had to use NTBackup Utility to do a normal backup on the database. Once this completed I was able to use the Update-StorageGroupCopy command to get the database replication back to a healthy state. In theory this process should work on a Standby Continuous Replication
SCR cluster as well.

Monday, April 06, 2009

Set Printer Share Comment to the Port Name

We use an asset tag naming system to target all of our printer ports to the physical printers. The queue names are abstracted from the actual printer it's self. All of the printers have a DNS name that is their asset tag plus the SCCM site code of the location that they're currently located in. The only problem with this is that it creates a bunch of extra clicking to determine what printer a queue is actually pointed to (okay, so its like 4 extra clicks to get the port name, but its still tedious). The work around we came up with is to set the comment tag on the printer to the port name of the printer. To do that we use the following bit of PowerShell code that runs on an hourly basis on the server. It was tested on Windows Server 2008, but should work just fine on Server 2003:

$printers = Get-WMIObject -Class "Win32_Printer" -NameSpace "root\cimv2" -computername "."
ForEach($printer in $printers){
$printer.Comment = $printer.PortName
$printer.Put()
}

Wednesday, March 25, 2009

Mounting CD and DVD in SuSE in Hyper-V with the Linux Integration Components Installed

SuSE Enterprise 10 SP2 works great on Hyper V, the performance (especially once you get the VMBus drivers installed) is near-iron, and the integration between SuSE and AD is great. It's the perfect setup for running a few Linux servers in a mostly Windows shop.

The only problem that I had getting the CD/DVD drive to mount. Once you get the VMBus drivers working properly, when you boot with the XEN kernal the CD Rom drive will show up as a Hard Disk to Linux. This will prevent SUSE from automatically mounting the CD/DVD drive when you swap out the discs (or upon boot). The solution is to mount the CD/DVD rom manually; to do that, do the following:
  1. Open up Terminal
  2. Make a directory as a mount point for the drive ( "mkdir /media/cdrom0" )
  3. Mount the drive by typing in: "mount -t iso9660 /dev/hdc /media/cdrom0"
This is assuming that the DVD drive for the Virtual Host is on IDE Controller 1 location 0. If it is on another channel, you'll have to change the /dev/hdc line of the mount command to the correct value:
  • IDE Controller 0, Location 0: /dev/hda
  • IDE Controller 0, Location 1: /dev/hdb
  • IDE Controller 1, Location 0: /dev/hdc
  • IDE Controller 1, Location 1: /dev/hdc

Update: Found one more issue. When using YaST2 to configure the network interface, make sure that you use the "Traditional Method with ifup" and not "User Controlled with Network Manager". Otherwise it will continually fail to setup the network adapter without providing any relevant error messages.

Monday, March 09, 2009

HP Proliant Support Pack on Server 2008: Server Core

We had some problems early on with the initial version of HP's PSP on our HP DL380 G5s and Server Core. The problems seem to have been resolved in the latest (8.15) version of the PSP. To install it, simply extract the PSP to a directory and run the setup.exe from the command line in Server Core. You'll get the standard HP GUI to guide you through the installation (or you can use setupc.exe for the commandline driven installation). The only "note" is that you'll have to install the SNMP service before hand by using the command "start /w ocsetup SNMP-SC".