ScorpioTek Solutions
07-filler-left Information about ScorpioTek Services Offered by ScorpioTek Training Courses Offered by ScorpioTek Technology Blog by ScorpioTek Contact us for more information on training/services 08-filler-right

Archive for the ‘Windows Server 2008 R2’ Category

How to Remotely Disconnect a User in Windows Server

Thursday, January 10th, 2013

Some Windows installations (like upgrading Windows Server 2008 R2 to Windows Server 2012) will not let you upgrade if there is a user logged on the machine.  Even if the user is disconnected, the upgrade will not take place.

Easy enough, you think, I only need to bring up the Task Manager, switch to Users and click Disconnect:

Disconnecting a user using Task Manager

Unfortunately, after selecting Log Off, I always get this error regardless of the fact that I am an administrator:


The only way I’ve managed to disconnect the user is using the command prompt.

First, type qwinsta to see the list of sessions:

This helps us find the ID of the user we want to disconnect

Now we simply issue the command rwinsta followed by the ID of the user:


For more info on connecting to remote sessions, please visit the source URL:

How to get rid of ghost networks in Windows

Wednesday, January 18th, 2012

This is something that is bound to happen if you have virtual machines and you remove a NIC.  Say for instance that you have a VM that has a virtual network and under Network Adapters you give the name “Public”.  A few weeks later, you remove the virtual NIC, add a new NIC and then want to rename the NIC from “Local Area Connection” to “Public”.  You will most likely see this message:

Cannot rebame this connection.  A connection with the name you specified already exists.  Specify a different name.

So you take a peak at the Device Manager to find the old network to nuke it – good luck with that, you won’t find it!  Why?  The old NIC is hidden, and even if you select to view hidden devices in the device manager it won’t show up.  Why?  I have no idea:

No Ghost NIC 

So here is what you need to do:

  1. Close Device Manager if already open
  2. Open a command prompt as administrator
  3. Type:

Device Manager will show up.  From the View menu, select Show hidden devices:

Show Hidden Devices

And just like that, your ghost networks will show up:

Ghost NICs Found!

Nuke the ghost NICs and now your new NIC can have its old name back! 

How to Upgrade Microsoft HPC Server SP2 to SP3

Wednesday, November 16th, 2011

Windows HPC Server 2008 R2 SP3 was released not too long ago and I am upgrading an SP2 cluster .   This guide will show what I did to upgrade from version 3.2.3716 to version 3.3.3950:


Assuming you have the bits ready, let’s get ready.

BTW, this assumes you do not want to preserve data from your database, if you want to preserver this data, follow this link.

    1. Uninstall everything from your head node from the previous SP2 install (yes, this will break your cluster)
    2. Install SP3 on the head node as you did the first time (ss you can see from the screenshot below, the old DB instance will be detected and data will be nuked.  Check this link to upgrade w/o losing DB info).

      Installation screen

    3. Start Cluster Manager
    4. Carry out all the “Deployment Tasks” as you usually do.
    5. You’ll now see all your nodes in an Unapproved state, this is because the template they were associated with was nuked in the update.   Assign a node template to your compute nodes/workstation nodes.
    6. To upgrade your compute/workstation nodes, download the “” file from
    7. Unzip the file, and place the installer files on the head node, for example \\HEAD-NODE\public\HPC2008R2-SP3-Update-x64\
    8. Use clusrun to update all nodes besides the head node:
clusrun /exclude:%COMPUTERNAME% \\HEAD-NODE\Public\HPC2008R2-SP3-Update-x64\HPC2008R2_SP3-x64.exe -unattend -systemReboot
  1. Your nodes will take a while to process the update, will reboot and will then be ready.  All done!! :-)

Some useful links:



Extreme Web Services

Sunday, June 19th, 2011

During various developer HPC courses, I have mentioned “Native Web Services”, which allows you to write SOA based applications using C++.  Windows HPC Server 2008 R2 adds support for running native web services on compute nodes; thus allowing to run native code at the compute nodes without the use of Windows Communication Foundation.

Not that there is anything wrong with WCF, but if you have a native C++ DLL that you’d like to turn into a SOA based app, Native We Services is the way to go to avoid performance issues because of interop.

Curious about Native web services?  Check out the following site that contains a lab we did some time ago.  It will guide you on writing a native C++ SOA DLL that can be invoked from C# or C++ to sort numbers:

How to install Windows Server 2008 R2 SP1 RC with previous Beta install

Tuesday, December 7th, 2010

If you installed Windows Server 2008 R2 SP1 Beta when it was available, you might want to try the RC version that is now available. The new version of the operating system includes a series of features such as dynamic memory for Hyper-V and RemoteFx.

Before you double click on the RC installer file, you might want to know that it is not possible to upgrade the Beta to RC. However, you can uninstall the Beta and install RC once you are done. The process is fairly simple:

  1. Open Programs and Fearures
  2. Click View Installed Updates
  3. Find Microsoft Windows (KB 976932) and uninstall it

Your machine will need to reboot and it can take up to 30 minutes to remove the Beta. Once it comes back, you should be able to install the RC version of 2008 R2 without issues.

Expanding a Dynamic VHD for use with Boot From VHD

Thursday, September 16th, 2010

Windows 7 Ultimate / Windows Server 2008 R2 offer a way to boot from a VHD, which is an incredible feature if you are testing or if you plan on doing lab deployment. Point in case, we are preparing a bootable VHD that contains VMs that will be imported the first time the machine boots. This means that the only setup required to get this system running, is that lab administrators configure the machines to Boot from the VHD, which can be very trivial using B2VHD Utility we wrote a while back.

When working with a bootable dynamic VHD, you need to be aware that the VHD, when booted, will expand to its maximum size. This is the reason why I start with a very small disk and keep incrementing the size as needed. Hyper-V can handle VHD expansion, but slimming down VHDs, you will need to use third party solution or some other hack.

When you expand a dynamic’s VHD maximum size and you boot back to the VHD, you may notice that your hard drive space is exactly the same as before, nothing has changed. Opening Disk Management will reveal some useful info:

In the image above, you can see the 15 GB that I expanded the VHD, but they are not part of my main VHD, which was the whole point of the expansion. The fix is fairly easy. All you need to do is right click on the drive whose size you’d like to expand and select Extend Volume:

You’ll then be able to select the unclaimed space and add it to your main VHD:

The operation takes about 2 seconds and will finally display your VHD the way it was meant to be:

SCVMM Extender Group Deployment Feature

Friday, May 14th, 2010

During the last few months we’ve been playing around with System Center Virtual Machine Manager (SCVMM) to deploy virtual machines for various lab configurations.  SCVMM is an interesting product. and while it lacks in some features, it gives you the ability of create anything you’d want it to be by exposing a PowerShell API.  By using this PowerShell API, we’ve been able to extend SCVMM for our particular needs and we’ve built the SCVMM Extender.  As of now, it is in very early stages, but it allows us to carry out “Group Deployment”, which is a real time saver in some lab scenarios.

For more info on this feature, check out the video below:

Adding Multiple Virtual Networks to Multiple Hosts in a Snap

Thursday, May 6th, 2010

Today I received a request to deploy 120 virtual machines in SCVMM, however these machines needed to be deployed in groups of 4 across in each host.  The real problem with this scenario was that none of the hosts had the virtual networks I required.  These VMs are part of  a Windows HPC Server demo and they required a combination of a public network, one internal network, and 2 private networks.  If you import into Hyper-V a VM export that does not have the exact name as the virtual network specified in the export, it will not be connected.  So if you deploy 1,000 machines and their networks are not set right, then you have to configure them manually…yeah…good luck.

What I did to solve this problem was to download the PowerShell Management Library and write the following lines of code:

Import-Module 'C:\Program Files\modules\HyperV'

$hostName = 'Pac07010'

New-VMPrivateSwitch "Application" -server $hostName

New-VMPrivateSwitch "Private" -server $hostName

New-VMINternalSwitch "Enterprise" -server $hostName

And that’s it.  I was lucky enough that my machines were named in consecutive order, so I just wrote a for loop to iterate through the machine collection.  I then sat back with a big smile on my face.  I have really not faced a problem that the PowerShell Management Library has not been able to tackle – thank YOU jamesone!

The FCI SharePoint Uploader

Friday, March 5th, 2010

We were recently carrying out a demo on a screencast and faced technical difficulties when carrying out the “FCI SharePoint Uploader” demo. We promised the attendees we would create an online demo that explained everything in detail and below is the result.

The FCI SharePoint Uploader from Christian Saborio on Vimeo.

Comments are greatly appreciated, enjoy!

How to grant ‘Allow log on through Terminal Services Right’

Thursday, February 25th, 2010

To log on to this remote computer, you must be granted the Allow log on through Terminal Services right. By default, members of the Remote Destop Users group have this right. If you are not a member of the Remote Desktop Users group or another group that has this right, or if the Remote Desktop User group does not have ths right, you must be granted this right manually.

I was setting up remote access for a user on a domain controller for some tests. This user was not an admin (but belonged to the Remote Desktop Users) and kept getting the same error message above. Setting this user to domain admin solved the problem, but of course I did not want to make any remote user a domain admin.

It so happens that it is not enough for a user to belongs to the Remote Desktop Users to gain the rights it needs. Here is how you fix this:

  1. Open gpedit.msc (the local group policy editor)
  2. Expand Local Computer Policy –> Computer Configuration –> Windows Settings –> Security Settings –> Local Policies –> User Rights Management
  3. Look for the setting on the right called Allow log on through Remote Desktop Services
  4. Double click this policy
  5. Add the user/group you would like to have remote access to the box.

Once this was done, the user was able to connect w/o hassles.