- Using Wireshark network analyzer to decipher SSL traffic.
- Configuring ISA Server 2006 to publish Outlook Anywhere using Kerberos Constrained Delegation. (Judging by the amount of spam comments on the first post on this topic, this should be popular.)
- A few more I can’t remember right now
Category Archives: Miscellaneous
Specify a blank sender in SMTP communication using a Telnet client
ehlo
250-mta.domain.com Hello [10.10.10.10]
250-SIZE
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250-XEXCH50
250 XRDST
mail from:<>
250 2.1.0 Sender OK
Meeting Steve Ballmer
Steve Ballmer (CEO of Microsoft for all you people who have been living under a rock for the last 20 years) visited Oslo on the 30th of September and I was lucky enough to meet him and take part in a quick photo shoot. (I’m number three from the left on the back row.)
Steve gave a 40 minute talk which was quite interesting. You can see the entire talk on YouTube here:
Part 1: http://www.youtube.com/watch?v=M1VKQIjsvpQ
Part 2: http://www.youtube.com/watch?v=QACnK1AucTY
Part 3: http://www.youtube.com/watch?v=hs4sASuPQpQ
Part 4: http://www.youtube.com/watch?v=0y1OeXTs2zM
You can read more about Steve here:
Wonder if I will ever meet Bill Gates?
Morgan
Upgrading from Windows Server 2008 Standard Edition to Windows Server 2008 Enterprise Edition
I recently was given a couple of Windows Server 2008 Enterprise Edition special Not For Resale evaluation packs. These were given out at the Heroes Happen Here event here in Norway. Since my main Windows Server 2008 machine, running Standard Edition, was unlicensed at the moment I thought I would upgrade it to the NFR Enterprise edition.
I popped in the DVD and selected Upgrade from the install wizard. The process started and took about 45-60 minutes. Everything seemed to work after the upgrade. The screen resolution was reset to the default 800×600 and I had to reinstall the NIC driver, but apart from that everything seemed fine. After a little while I noticed that the server was acting sluggish and soon discovered that the MS Exchange System Attendant service (mad.exe) was consuming 100 % CPU continuously. In addition to being my Domain Controller the server was also running Exchange 2007, and apparently Exchange did not like that the underlying OS had been upgraded. I had half-way expected this and went into the Exchange install folder to run setup again in maintenance mode (setup.com /mode:recoverserver). Ufortunately, setup did not give me an option to recover the server, it just told me to select a new role to install. I then tried to use setup.com /mode:upgrade and now the server went through a reinstall. After the System Attendant was working normally and there were no issues. I also reinstall the latest rollup for Exchange.
So now I have a licensed Windows Server 2008 Enterprise edition server. The NFR pack says it is a special one year evaluation version, but slmgr.vbs does not report an expiration date. Hopefully it will last indefinitely.
Installing Windows Server 2008 on a Compaq ProLiant ML310 G1 server
I have an old first-generation (G1) Compaq ML310 server that I use as a multi-server on my home network. Since it is so old the server is only capable of running an x86 OS, but it has 3 GB of memory so I manages the job for my small network. It is certified for Windows Server 2003 and has been happily running that OS for a couple of years now. This weekend I decided it was time to upgrade it to Windows Server 2008.
Figure 1: The Compaq ML310 G1 Server
First I installed a virtual Windows Server 2008 machine on my desktop computer. I updated the schema for Windows Server 2008 (from my old server, since adprep.exe /forestprep must run on a DC). Then I moved all the services the old server was running, DNS, DHCP, Certificate Authority etc, to the new virtual machine. Finally I installed Exchange 2007 and moved all the mailboxes to the virtual server. Then it was time to decommission the ML310’s workloads and I uninstalled Exchange 2007 and demoted it to a member server. After verifying that no data that I required was left on the old server I popped in the Windows Server 2008 DVD and rebooted. That was when the fun started.
My first snag was to discover that the ML310 does not have a DVD-ROM drive, but a CD-ROM drive. No biggie, I found an old DVD-ROM drive in a closet and installed it. When that was in place I could boot the Windows Server 2008 DVD.
The ML310 has an onboard LSI IDE ATA-100 RAID Controller. The RAID system is pretty simple and you have to create the arrays from the controller BIOS while the OS is down. I have 4 drives in the server, distributed over two RAID 1 arrays. To make windows see the arrays I have to load a driver during OS setup. On Windows Server 2003 this was done pressing F6 at the beginning of setup and popping in a floppy with the required driver. I had been using the driver from the HP website up until I decided to upgrade. The main file of the driver is MegaIDE.sys and the HP driver is version 2.5.2003.613. I figured I would try that driver first and see if I could make it work with Windows Server 2008 and the RAID 1 arrays.
After you have selected which Windows Server 2008 edition you want to install the setup process brings up a listing of available drives in your machine. My list contained 6 items; 4 partitions and 2 unallocated free space, divided over 4 physical disks. This meant that the default Windows driver was not RAID capable. I proceeded to hit the Load Driver button and load the HP driver from floppy. That did not work at all. It found the driver but setup never continued. I figured it might be a bad floppy so I copied the driver files to a USB key instead and tried again. This time the driver loaded successfully but setup still displayed the same 6 items, so that driver was not RAID capable when used with Windows Server 2008 either. What to do?
The HP driver is pretty old so I decided to see if LSI, the manufacturer of the RAID controller, had a newer version. I found one on their website. In this driver package the MegaIDE.sys driver was version 4.1.0709.2003, a definite improvement. Just to be sure I verified that the Plug and Play ID of my controller (PCIVEN_1095&DEV_0649&SUBSYS_007E0E11) was present in the INF file for the new driver. Since it was, I copied it to the USB drive and loaded it in Windows setup.
Success! After the driver loaded, the number of items was down to 3, now showing 2 physical drives (really the two logical RAID 1 drivers) and 2 partitions (one on each drive), plus the unallocated space. Things were looking good. I wanted to do a completely clean install so I decided to delete the old partition on the first physical drive and have setup recreate it. That produced an error, but I was not too deterred by this. I rebooted the server and went into the controller BIOS and re-initialized the array, figuring that it had somehow been corrupted or altered by me messing about with the old driver. Back in setup with the new driver loaded I now had only unallocated space on my drive. I hit Next and Windows Setup proceeded to try and create a new partition in this free space. That produced another error.
Windows could not create a partition. Error 0x80070013.
The 0x in front of the error tells us that this is a hex number and we need to translate it into decimal in order to find out what it means. 13 hex is 19 decimal. Using this command we can get the clear text data from the error:
PS C:WindowsSystem32> net helpmsg 19
The media is write protected.
So I knew what the problem was, just not how to fix it. I rebooted again and went back into the controller BIOS. I deleted the array and recreated and re-initialized it. Booted the DVD once more, loaded the LSI RAID driver. The newly recreated array came up as free space and I selected it and hit next. This time I got no error and Windows Server 2008 started installing.
I still think my theory about the original array becoming corrupted or having been modified in some way to be correct. I did a lot of stuff to the partitions while trying to make the old HP driver work. Circumstantial evidence to back up this conclusion is that the other array is accessible in Windows Server 2008 without problem.
Windows Server 2008 installed successfully and I started configuring the server. I quickly noticed that the server had no network connectivity due to a missing NIC driver. That was, however, the only unknown device. The ML310 uses an HP NC7760 Gigabit Server Adapter, whose driver is not included on the Windows Server 2008 DVD. I downloaded the Windows Server 2003 driver from HP and it installed without problem. All network service ran perfectly. The NIC driver is quite old. Its version is 8.52 and the date 12.01.2006. I decided to look for a newer version. A quick Google search of the hardware IDs of the NC7760 adapter revealed that it is in reality a Broadcom NetXtreme Gigabit Ethernet adapter. I went to Broadcom’s site and downloaded the latest driver. Windows Server 2008 would not upgrade to that driver, since the INF file from Broadcom did not have an exact match for the most specific Hardware ID, like the HP INF file did. Instead of trying to edit the Broadcom INF file and add the NC7760 Hardware IDs I just uninstalled the driver and selected to delete the driver files in the process. Then I could do a search for new hardware and install the Broadcom driver. The new driver is from 17.09.2007 and is version 10.62.0.0, quite an improvement as well.
As an encore I tried to install the RAID management software from LSI. It installed successfully and the Spy program, which sits in the system tray and monitors drive health, worked well. Not so for the MMC snap-in that manages the arrays themselves. It always gives an error and then freezes when I try to start it. Can’t win ’em all I guess.
I finished the server upgrade by promoting it to a DC, adding all the roles (CA, DHCP, etc) and installed Exchange 2007 with SP1. My only regrets are that the computer is not x64 compatible which means that I can’t run a supported version of Exchange 2007, and that I can’t run Hyper-V.
For those who are interested here are the links to the software I have mentioned in this post:
- MegaRAID IDE Homepage
http://www.lsi.com/obsolete/megaraid_ide_100_2567.html?remote=1&locale=EN - MegaRAID IDE Driver package for Windows Server 2003
http://www.lsi.com/files/support/rsa/LSI_Gen_4.1.0709.2003.zip - HP Driver for NC7760 NIC
ftp://ftp.hp.com/pub/products/servers/supportsoftware/cp006001-006500/cp006343.exe - BroadCom driver for NetXtreme Gigabit Ethernet (5702)
http://www.broadcom.com/docs/driver_download/570x/win_xp_2k3_32-10.62b.zip
How to successfully run Oracle client software on Terminal Server
Great opening lines
Some books distinguish themselves by having exceptionally good opening lines. Here are some of my favorites:
- The Gunslinger by Stephen King
The man in black fled across the desert, and the gunslinger followed. - Neuromancer by William Gibson
The sky above the port was the color of television, tuned to a dead channel. - Farenheit 451 by Ray Bradbury
It was a pleasure to burn.
More to come.
What do Ctrl+C and USB connectors have in common?
Nothing, except that I had a major revelation regarding each of them recently. It’s almost embarrassing to admit this, but here goes:
Ctrl+C copies the text from a dialogue box to the clipboard
This feature has been a part of Windows for a long time, but I have not known about it. Whenever a message box is displayed, pressing Ctrl+C copies the entire text from the box, with formatting, to the clipboard. What a tremendously useful feature!
USB connectors should always have the USB logo pointing up
It’s always a hassle plugging in USB devices. I always try to insert the connector the wrong way the first time, without fail. I have always been amazed that the USB group didn’t come up with a better system for this, given the popularity of USB. Turns out, they have. Every USB device is required to have the USB logo on its connector, and that logo should always be pointing up when inserting the connector. If the socket is mounted vertically, the logo should always be towards you. After learning about this I quickly discovered that a couple of my devices were non-compliant and did not feature a USB logo at all. I’m not the only one that wasn’t aware of this requirement, apparently.
So there you have it. Two incredibly useful bits of information, and I didn’t know about either of them. I’ll go and hide now…
Morgan’s favorite quotes #1
Moving to Virtual Server
Just finished moving all my virtual machines from VMware ESX server to Microsoft Virtual Server 2005 R2 SP1 (Beta 2). Had a couple of reasons for doing so:
- The SCSI requirement for ESX was a pain; SCSI is quite a bit more expensive than IDE/SATA. Plus the IBM SCSI drive I used was incredibly loud.
- I wanted to try out the new version of Virtual Server. R2, especially with SP1, has many new features.
- The machine that was running ESX has several IDE drives. The space on these drivers were unavailable to me since running SAMBA on ESX is not supported and is not well integrated with AD. I wanted that space back.
- I also wanted to move away from the rigid ESX system and run a pure Windows Server environment on all my servers. Now I can have a unified administration, management and patching solution.
Since the server running ESX was the same one that I wanted to run VS on I had to copy the VMs to another machine and migrate them, before moving them back into Virtual Server. This required quite a few steps:
- Make a backup of the VM on ESX, and keep it in a safe place for recovery.
- Uninstall VMware Tools from the VM and reboot.
- Replace the HAL (hal.dll) and kernel (ntoskrnl.exe) with the standard ones (found on the CD or in the ServicePackFiles directory).
- Run a cleanup script.
The script disables all known VMware devices. - Shut down the VM.
- Export it through the ESX file manager (in the web interface) or through vmkfstools.
Just copying the vmdk file using WinSCP or FTP will not work. The file will be corrupt and unusable. The reason for this is the VMFS file system that is used by ESX. - Convert the virtual disk file (vmdk) to a Virtual Server VHD file using the vmdk2vhd utility available here:
http://vmtoolkit.com/files/default.aspx
This is a nice utility that can convert a VMware vmdk file to a Virtual Server VHD file. - Move the new VHD files to the Virtual Server machine and create new VMs and select the existing disks.
- Boot up the VMs and let Windows detect the new hardware, reboot when asked.
- Install Virtual Machine Additions and reboot.
- Configure IP address and verify all services.
After this procedure I had my VMs running on Virtual Server. The performance is quite good, even though I am running on only IDE drives now. There is a little performance drop as opposed to ESX, but weighed against the other drawbacks I experienced with ESX, that is not a problem. It will be interesting to see how the servers perform after some time.
I also tried out the new vhdmount utility in Virtual Server. This is a tool that can mount a VHD file on a computer without running Virtual Server or Virtual PC. The tool can be installed on Windows Vista as well, where it also supports the /m parameter which not only plugs the disk (physical) into Windows, but also mounts the partitions to drive letters in one operation. On Windows XP/Windows Server 2003 you have to use /p to plug in the disk and then assign drive letters to the partitions manually in Disk Manager.
There is a caveat, however. Since Virtual Server 2005 R2 SP1 is in beta, the driver that does the mounting and plugging is not signed. That means that Windows Vista, or XP/2003, will display an error when you try to mount a virtual disk:
The command will succeed but you will not see anything in Explorer or Disk Manager:
If you look in Device Manager you will see this:
The solution is to choose Update Driver Software… in Device Manager and manually point Windows to the vhdstore.inf file in the vhdmount directory. (Default location; C:Program FilesMicrosoft Virtual ServerVHDMount.) This requires not only telling Windows to look in the vhdmount folder for a driver, but to select Have Disk and manually selecting the vhdstore.inf file.
Afterwards, the disk should be available in Disk Manager and you can assign a drive letter to its partitions. The real killer is that you have to perform the manual driver installation each time you want to mount a disk. Hopefully VS 2005 R2 SP1 will RTM soon and the driver will be signed. Also, check out the VS SP1 release notes for information about how to install the vhdmount utility on a machine not running Virtual Server.
I am looking forward to playing with VS more in the coming days. The new support for VSS snapshots looks very promising. It lets you back up a running VM using the snapshot functionality provided by the Virtual Disk Service and the Snapshot provider.
Until next time.
Morgan