Archive

Posts Tagged ‘troubleshooting’

Microsoft DNS Scavenging in mixed DC environments

After encountering this problem in two different clients, I figured this should be reported for better understanding:

First off, Microsoft considers it a best practice, starting with Windows Server 2008 to enable DNS Scavenging which is the process which will automatically clean out stale (non-recently-updated, dynamic DNS addresses). And I have used this multiple times before with great success in same-version DNS/DC environments. However it appears that at two of our clients we’ve experienced problems where static entries have been deleted. While this is not the design of DNS Scavenging, it appears that it MIGHT be an incompatibility between environments with both 2003 and 2008 DNS servers/domain controllers in the same network. Perhaps having something to do with the aging or timestamp method. However I haven’t been able to reliably reproduce it (don’t want to test in a production environment), nor find any documentation to back up this theory. But after it occurred at my second client in a mixed DNS version environment, I figured it was worth mentioning as something to watch out for.

Advertisements

XenServer: Hung VM

I’ve experieneced several instances where a VM appears to hang and is non-repsonsive, not only at the console level, but also to the XenServer Hypervisor and XenCenter. Attempts to force shutdown the server using xe vm-reboot or xe vm-shutdown fail with the error “Another operation involving the object is currently in progress class: VM”.

This has worked consistently to recover this VM.

1 – “xe vm-list” to get the uuid of the VM that is hung
2 – “list_domains” to list the domain uuid’s so you can determine the domain # of the VM above by matching the uuids from this output with the uuid for your VM from the previous command.
3 – “/opt/xensource/debug/destroy_domain -domid XX” where XX is the domain number from the previous command
4 – “xe vm-reboot uuid=XXXX –force” where XXXX is the uuid from the first vm-list command for your VM.

Error 0x8007007f: A problem is preventing Windows from accurately checking the license for this computer

After you install SP2 for Windows Server 2003 x64 you get the following error message when you try to login using local console or RDP:

A problem is preventing Windows from accurately checking the license for this computer: Error Code 0x8007007f

After performing some research on the internet, this appears to have been a very common problem. A simply reboot fo the server, after the initial post-SP2 install reboot, appears to have resolved all of the problems.

Read more…

Tech Note: Port Conflict leading to RADIUS / IAS / Wireless issues

Apparently there is a chance that a security patch (MS 08-037) can lead to port conflict issues.

There was an issue at one of my clients this morning stemming from this.  The DNS Server was using a port that was needed for the IAS (RADIUS) Server.   The IAS service would not stay running.   As a result wireless clients could not authenticate.

Most of the details are here:  http://support.microsoft.com/kb/953230

There is a registry key that behaves differently for XP/2000/2003 than for Vista/2008.  It’s “MaxUserPort”.  (My assumption is that’s why this is an issue – someone set it to an appropriate value for a new OS but it applied to all of them and ends up breaking some.) For 2000/2003 it defines the maximum range of ports available for dynamic use.  On the affected server this registry key was to 65535 with the implication that the entire port range from 1024-65535 was available for dynamic usage.  IAS could not get its reserved ports as they were in use by DNS.  Deleting the registry key sets dynamic port range back to the default of 49152-65535 and resolved the issue.  I restarted both services multiple times without conflicts.

MaxUserPort

On Windows Server 2003 and Windows 2000 Server, the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort registry subkey is defined as the maximum port up to which ports may be allocated for wildcard binds. The value of the MaxUserPort registry entry defines the dynamic port range.

Installing x32 Print Drivers on a x64 Server

There is information on TechNet for how to do this: http://blogs.technet.com/sbs/archive/2009/02/13/how-to-add-32-bit-print-drivers-to-sbs-2008.aspx

 However I could not get this method to work.  So here are instructions which DO work

 Log into a 32 bit client system as a local administrator.  In this case I used XP.  Not sure how different this will be in Vista.

Remove any instances of the type of printer you are adding.  For example if you need to install HP LaserJet 4050 drivers on the server make sure you do not have any 4050 printers setup on the client.  Also open the Print Server Properties on the client and ensure the 4050 driver is not installed.

Create a mapped printer to the server you would like to install the drivers on.  You will be asked to install the drivers for the printer.  This installs them locally on the client.

Open the printer’s properties and select the sharing tab.  Then click on the additional drivers button at the bottom.

Then select the 2000/XP check box and click Ok.  You will then be prompted to select the location for the drivers.  Use the same path as you used to install them above.

This will copy the print drivers to the server.

If you need to install the same driver on more than one server you must repeat this entire process including removing the drivers from the client.  Based on documentation this should not be necessary but I was not able to update a second server without removing them.  When I tried to update the second server I received an error message “Windows could not locate suitable print drivers” when I tried to update the 2000/XP drivers from the sharing tab.

Windows System Crash Analysis (BSOD)

You are all probably aware of the MEMORY.DMP files in the windows directory. You may also be aware of the Windows\MiniDump directory. These files are created when there is a critical system error usually resulting in an automated reboot or BSOD.

The Memory.DMP file contains debugging information plus the contents of your system’s RAM. This file is overwritten each time a crash occurs. The MiniDump directory contains the same debugging information as MEMORY.DMP but does not include the RAM contents. The MiniDumps are not overwritten so they can be used as a historical reference for identifying crash events.

So the question is how do you use these file???? There is a tool from Microsoft designed to do just that! It is called WinDbg and is part of the Debugging Tools for Windows. (http://www.microsoft.com/whdc/devtools/debugging/)

Download and install this tool. There is an x86 and an x64 version. Once the program is installed open it and choose the file menu then Symbol File Path.

Enter the following: http://msdl.microsoft.com/download/symbols/

This will download the necessary symbols as needed. Symbols are a link between the binary application code and programming language which generated the code.

Once this is done you can choose File – Open Crash Dump. This will open both Memory.DMP and MiniDumps. Once opened the program will begin some analysis.

Click on the !analyze –v link to do a verbose analysis. This may give more information as to the reason for the crash. The faulting application code is listed in the default analysis.

Enjoy!