Management Ports Gone Wild

Today, I learned a very important lesson.  That lesson was that management ports on IBM xSeries server do not provide network connectivity (at least not by default anyway).  That’s right.  Huge news flash, right?

Actually, the lesson was to have the technician on the other end of the phone make sure they aren’t plugging into the management port.  Now, don’t take that the wrong way.  He didn’t know any better than I and merely plugged the patch cable into the only RJ-45 port he could see.

So, as a reminder to myself to check the management port, I blog.  Let that be a lesson to you.  Then again, maybe we should ask ourselves what prompted the network connection to drop in the first place?  I’ve already opened a ticket with IBM, because we thought the network port was dead.  To that end, I’ll run DSA on Monday and see if IBM’s “Remote Technical Support in Atlanta, Georgia” can tell me anything about it.

Windows Server 2008

Today is officially billed as “Laptop Rebuild Day.”  And today, I will be reloading Windows Server 2008 on my laptop.  Rumor (and experience) has it that it performs much better than Vista.  So, an article from Mark Wilson on how to turn this desktop-in-disguise server OS into your everyday workstation:

Windows Server 2008 is a great workstation operating system too

Run as…

Mark Russinovich from Microsoft developed a tool as part of Sysinternals to give you the “Run as…” option when you right click a program in Vista. Without this tool, Vista will allow you to run as Administrator, which is totally useless when you’re trying to access a domain resource.

Once you unzip “shellrunas.exe” (put it somewhere in your PATH) you will need to run “shellrunas /reg” at a command prompt. Once it tells you it has been registered, you will see “Run as different user…” in your right click menu.

The link: http://technet.microsoft.com/en-us/sysinternals/cc300361.aspx

It’s 4:30AM. Do you know where your System Admin is?

I do. All of us are still up. That’s right. One of those cliche all-nighters. What’s the cause of all this debauchery you ask? A server in Atlanta decided to shut down – for good. So, naturally, being the suck up (and by suck up, I mean bottom rung on the ladder), I (was) volunteered to drive to Atlanta tonight. Let me just tell you that driving early in the morning when you’re already mostly asleep sucks.

So, we sit here in an effort to provide the company with those fabled “five-nines.” Luckily, we have another hour and fifteen minutes to have this server back up and running before the calls start rolling in.

Oh, and an interesting side note: something that makes perfect sense, but that I had never thought about before.  If the server that fails happens to also be the DHCP server for the site, you can reboot the switches to force the clients to renew their IP addresses.  Useful if you’re not one to walk around to each workstation and do it manually.  Think about it.

Updating Windows Server 2008 Core

Tonight is “Server Night.” A night set aside on the third Tuesday of every month dedicated to drinking a lot of caffeine and causing downtime for the company.

The first task of the night: update our Core installations (which includes several virtual servers and physical servers alike). The problem comes in with the fact that Core has no GUI (go figure) and everything has to be done at the command line. Herein lies our problem, how to update the stupid thing?

So, naturally, a Google marathon has ensued all morning. I read blog after blog after Microsoft KB. One blog appeared as my shining light in the darkness: Nathan’s Daily Grind – more specifically, this post: How to apply WSUS updates to a Windows Server 2008 Core machine.

This led me over to a MSDN article: Searching, Downloading, and Installing Updates, which solved my problems. I’ve posted the text of the MSDN article below for posterity.

Searching, Downloading, and Installing Updates

The scripting sample in this topic shows you how to use Windows Update Agent (WUA) to scan, download, and install updates.

The sample searches for all the applicable software updates and then lists those updates. Next, it creates a collection of updates to download and then downloads them. Finally, it creates a collection of updates to install and then installs them.

If you want to search, download, and install a specific update that you identify by using the update title, see Searching, Downloading, and Installing Specific Updates.

Before you attempt to run this sample, note the following:

  • WUA must be installed on the computer. For more information about how to determine the version of WUA that is installed, see Determining the Current Version of WUA.
  • The sample does not provide its own user interface.
  • WUA prompts the user to restart the computer if an update requires a restart.
  • The sample can download updates only by using WUA. It cannot download updates from a Software Update Services (SUS) 1.0 server.
  • Running this sample requires Windows Script Host (WSH). For more information about WSH, see the WSH section of the Microsoft Platform SDK. If the sample is copied to a file named WUA_SearchDownloadInstall.vbs, you can run the sample by opening a Command Prompt window and typing the following command at the command prompt.

cscript WUA_SearchDownloadInstall.vbs

Example

Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()

WScript.Echo "Searching for updates..." & vbCRLF

Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software'")


WScript.Echo "List of applicable items on the machine:"

For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next

If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If

WScript.Echo vbCRLF & "Creating collection of updates to download:"

Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")

For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
Next


WScript.Echo vbCRLF & "Downloading updates..."


Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()


WScript.Echo vbCRLF & "List of downloaded updates:"

For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
If update.IsDownloaded Then
WScript.Echo I + 1 & "> " & update.Title
End If
Next


Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")

WScript.Echo vbCRLF & _
"Creating collection of downloaded updates to install:"

For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToInstall.Add(update)
End If
Next

WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo

If (strInput = "N" or strInput = "n") Then
WScript.Quit
ElseIf (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()

'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"

For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If

WDS and PXE

A post that I wrote in March for another blog:

We’ve been trying for a day or two to get Windows Deployment Services up and running over PXE to eliminate our need for boot disks to image with, but ran across some issues getting the client (in this case, an Optiplex 745) to boot via PXE. During my Google Marathon, I found the one and only article that was of any use to me:

“DHCP….” followed by “PXE-E53: No boot filename received”

SYMPTOM

When being started, the PXE client comes up with the PXE copyright message, then displays

DHCP….

After a while, the following error message is displayed:

PXE-E53: No boot filename received

Depending on the PXE client’s system setup boot device list configuration, the PC then either stops or tries to boot from the next boot device in the system setup boot device list.

CAUSE

The “PXE-E53″ error indicates that the PXE client received a reply to its DHCPDISCOVER message, but the “boot filename” information was missing in this reply.

RESOLUTION

Make sure that the “boot filename” option is present on your DHCP or BOOTP server, and that its value is set to the filename of the boot loader.

When using Microsoft DHCP server, add option 067 (Bootfile Name) to your scope. When using a Unix/Linux based (ISC) DHCP server, use the “filename” parameter for this purpose.

In the context of the BootManage Administrator, the boot loader filename is “pxboot” for PXE clients and “bpboot” for TCP/IP BOOT-PROM clients. So, if you have exclusively PXE clients, set the boot filename option to the value “pxboot”. If you have exclusively TCP/IP BOOT-PROM clients, set the boot filename option to the value “bpboot”. In a mixed PXE and TCP/IP BOOT-PROM client environment, you must configure your DHCP or BOOTP server so that it provides the PXE clients with the “pxboot” boot loader, and the TCP/IP BOOT-PROM clients with the “bpboot” boot loader.

As it says, the PXE client is receiving DHCP replies, but is unable to locate a useable boot file/image. Once I changed DHCP option 66 to my WDS server’s name and option 67 to “bootx86wdsnbp.com” (which is the WDS boot file that loads the PXE environment), the machine didn’t hesitate to boot.

It took about 15 minutes or so to image the machine from start to finish (all it was doing, though, was installing Vista – we would use custom images so the timing may change). This is about the time it takes with our current Ghost setup, but with WDS deployment points can be created. This would allow us to have a deployment server in each office and would streamline the way we share updates to images.

Credit: bootix.

Yet another…

… That’s right.  There’s another blog on the market.  Another thing for you to read.  Of course, I’m probably the only one reading any of this.  And that’s fine – this is more for me than anyone.  This will be my place to put my hopes, fears, dreams… not really.  This is a place for the things I learn.  Lessons learned, if you will, that I can look back on in ten years and wonder what I was thinking.

So, without further adieu, we’ll have to wait and see how fast I learn something new – which according to some (coughMichaelcough) doesn’t happen often (if at all, right?).