Category Archives: Windows Server

Thread in process took longer than 90000 ms to complete a request

I encountered this recurring issue on a Citrix server. The event ID you’ll find in the application log:

Event ID 5051: A thread in process … took longer than 90000 ms to complete a request. The process will be terminated …

All details about cause and possible workarounds can be found in McAfee KB52441: https://kc.mcafee.com/corporate/index?page=content&id=KB52441. I used workaround 5, disable oppurtunistic locking in Windows, and this solved the issue on the server.

Troubleshooting WSUS clients

A very interesting general article on troubleshooting WSUS clients can be found here: http://blogs.technet.com/sus/archive/2008/07/10/troubleshooting-wsus-clients.aspx.

Not uncommon: problems with duplicate SUSClientID values
…  If the WSUS client does not show up in the WSUS console, this is probably caused by duplicate SUSClientID values.

One of the methods you can use (from http://support.microsoft.com/kb/903262 – see also http://blogs.technet.com/sus/archive/2009/05/05/resolving-the-duplicate-susclientid-issue-or-why-don-t-all-my-clients-show-up-in-the-wsus-console.aspx) :

– Click Start, click Run, type cmd in the Open box, and then click OK.
– At the command prompt, type net stop wuauserv, and then press ENTER.
– Click Start, click Run, type regedit in the Open box, and then click OK.  Be careful, you are going to modify some keys in the registry !
– Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate

In the details pane of Registry Editor, delete the following registry entries:
PingID
AccountDomainSid
SusClientId
SusClientIDValidation

Note Windows Update Agent 3.0 adds the SusClientIDValidation value.  This value was released in May 2007. The other registry entries exist in both Windows Update Agent 2.0 and in Windows Update Agent 3.0. – Exit Registry Editor.
– At the command prompt, type net start wuauserv, and then press ENTER.
– At the command prompt, type wuauclt.exe /resetauthorization /detectnow, and then press ENTER. – Wait 10 minutes for a detection cycle to finish.
– Start the WSUS console to make sure that the clients appear in the WSUS console.

Some tips and tricks if the Windows update balloon does not come up:
– Check if the WSUS client is in the WSUS console.
– If not check if machine does not have a duplicate SUSClientID (see above). Also check if the PC is in the correct active directory OU.
– Run the following command: wuauclt.exe /DetectNow – Connect to the server console instead of RDP session (for example using your VMware client it is a virtualized server).
– Connect to RDP console session, instead of a normal RDP session.
– To speed up the Windows update balloon to appear, restart the “Automatic Updates” service.
– Be sure to wait long enough.
– Check the Windows folder for the WindowsUpdate.log file.

Force updating of “Last Status Report” in WSUS console:
– Run the necessary updates – eventueally type wuauclt.exe /detectnow to force the Windows update balloon to appear (or see above)
– Now type (still on the client): wuauclt /reportnow (or wuauclt /r). Normally the “Last Status Report” will be updated within a minute or so.

Creating free space on harddisks partitions

You probably know the situation: you need to install some important updates, service packs, … but your C: drive has not enough free space left.

On the other hand, the D: partition (or another one) has plenty of free space. A possible solution is simply to move some folders.

You could do it even more smartly by first moving the folders to the other partition and then create a junction point again on the C: partition. This way it looks to the operating system like the folders/files are still on the same location. You could do this for example for the folder C:\Windows\SoftwareDistribution\Download (after stopping the service Automatic Updates).

A good and simple tool for creating junction is HardLink Shell Extension, see http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact.

First you have to pick up the source folder as the source:

pickjunction

And then you can drop it as a Junction.

dropjunction

It’s as simple as that (at least with this tool).

Sysprep in Windows Server 2008 R2

Sysprep has just become easier in Windows Server 2008 R2. The sysprep file is now already preinstalled by default. You can find it in Windows\System32\Sysprep.

Just launch the Sysprep application in this folder, check the Generalize check box, select Shutdown, and after the machine has shut down you can use it as a base image.

After reboot the well known Windows mini setup will start.

Different ways of finding Windows uptime

1) Using Event Viewer

Filter on Event ID 6005.

The date and time when the Event ID 6005, The Event log service was started, is logged is the time when the Windows system was started.

Advantages:

  • You can see all startup times
  • Can also be used on remote systems.

2) From command line

Go to Start, Run. Type Cmd (Enter). On the command prompt type: net stats srv

Look for the text: Statistics since … For example: Statistics since 18/09/2009 9:34:09, meaning the Windows system was started on 18/09/2009 at 9:34:09.

You can also use the FIND command to retrieve only the line containing the time when the machine started.

net stats srv | find /i “statistics since”

See also http://support.microsoft.com/kb/555737

Scheduled server – or PC reboot

Create a batch file (call it Reboot.cmd for example) with the following content:

Shutdown /r /f

Create a Scheduled Task, where you call this Reboot.cmd, Run As a user with local administrator rights, set a Schedule, and you are done.

Note: check if the Shutdown command is available on the Windows version you are using (Cmd, Shutdown /?).  For older Windows versions you may not find the Shutdown command.  You can find it in the Windows Resource Kit.  See http://www.robvanderwoude.com/shutdown.php for more information.