Windows 8.1 ENTERPRISE To Be Available For Purchase

Way back when Windows 7 was first announced, I got into a wee bit of trouble for criticising Microsoft’s bundling of the differentiating features of the new desktop OS into just the Enterprise edition. Why? That was because only those who licensed the Pro edition via Volume Licensing with Software Assurance would be entitled to the Enterprise edition. If you couldn’t buy all the cool features, then why would a business consider jumping from Windows XP to Windows 7? Sure, there were lots of good stuff in Windows 7 Pro, but all the cool business features were in the Enterprise edition.

Hmm, turns out that lots of businesses don’t actually buy SA. Large enterprises get SA with their Enterprise Agreements. Larger businesses with Select or Select Plus only get SA at extra cost – they choose this program to avoid annuity programs. In the SME world, those with OVS rather than pure Open do get SA. That leaves lots of businesses without SA, and without the benefits of the Enterprise edition that make an upgrade so appealing. And they just were not able to pay for the Enterprise edition because it was only available as an VL+SA benefit.

Well it seems that some backtracking is occurring. Mary Jo Foley reported overnight that Microsoft is to release the Enterprise edition of Windows 8.1 (and therefore lower editions via downgrade rights) as a standalone product via Select, Select Plus and Open – the two programs without SA. Going forward you will be able to buy the Enterprise + SA option through any VL program.

I think that’s a good news story to get March kicked off!

Technorati Tags: ,

Ireland Has Appointed A New Interim CIO

The Irish government has appointed Michael McGrath as interim chief information officer for the Irish government. McGrath replaces epic failure, Bill McCluggage. McCluggages big successes include ….

Nothing.

Less than nothing.

In fact, the Irish government just signed a €3,300,000.00 customer support contract with Microsoft for continued “support” of Windows XP after the April 8th deadline.

Let me put it this way. If you’re the CIO of a large organization, and you were not aware of the firm, not changing ever, deadline of April 8th, then you were beyond ineffective. If you did nothing to get off of Windows XP then you were, in my opinion, negligent, more so if your organisation was licensed for Software Assurance under a government enterprise agreement.

It’s worse than that. Like most governments (probably worse really) the Irish government is littered with redundant IT departments and installations. We have our wasteful projects that never end and are the delight (or should that be Deloitte?) of the consulting community. There should be a government cloud with redundant locations. That should have started building years ago.

What’s been done?

Bupkis.

The waste continues.

Let’s see how quickly McGrath gets that cloud project started and the Windows 7/8.1 migration started … or will he be yet-another-crony?

Script To Convert Hyper-V Virtual Machine From VHD To VHDX

Last year I wrote a script that would allow you to specify a virtual machine, and the script would:

  1. Shut down the VM if running
  2. Seek out any VHD files attached to any of the VM’s controllers
  3. Create VHDX files from those VHD files
  4. Replace the VHD files by attaching the VHDX files to the same controllers and locations in the VM settings
  5. Delete the VHD files

In my tests, the script had some issues. But that was nearly a year ago and it was on WS2012 in my lab. The script remained untouched until yesterday. I was chatting with my fellow Hyper-V MVP, Didier Van Hoye (aka @workinghardinit). He told me he was in the process of migrating VMs from an old W2008 R2 cluster to WS2012 and was going to be converting VHD files. Aha! This might be a time for a solution to speed up the process.

I sent the script over to Didier to have a look-see. Would it work. Well, Didier ran a series of tests this morning with guest OSs including W2003 R2 and WS2012. The tests ran flawlessly.

So … here is the script. FYI there are few things to note:

  • You might consider putting in a delay loop to test if the VM is actually shut down if you need to shut it down. Put a timeout of 3 minutes in that. The stop-vm cmdlet is async so it shouldn’t cause an issue as it is below, but you might want to take the extra step, just in case.
  • You might want to comment out the line Remove-VMHardDiskDrive $VHD for your test or pilot runs.
  • I do not support this script 🙂
  • Run the script and specify the VM name as a parameter.

CREDIT: A big thank you to Didier Van Hoye (aka @workinghardinit) for checking my work.

#—-

[CmdletBinding ()]
Param   (
        [Parameter(Mandatory=$True)]
        [string]$VMName
        )

#Disable error reporting – comment out the following line if you need to troubleshoot the script
$ErrorActionPreference = "SilentlyContinue"

cls

$VM = Get-VM $VMName
$VMStatus = $VM.State

if ($VM.VMid -ne $NULL)
{
    if ($VMStatus -eq "Running")
    {  
        #Shut down the VM if it is running
        Write-Host "Shutting down" $VMName
        Stop-VM $VMName  
    }

    #Get the disks in the VM
    $AllVHD = Get-VMHardDiskDrive $VMName

    if ($AllVHD -eq $NULL)
        {
        Write-Host "There are no virtual hard disks to convert"
        Exit
        }

    foreach ($VHD in $AllVHD)
    {
        #Get the VM path and create a VHDX file path
        [string]$VHDFile = Get-Item $VHD.Path
        $VHDFormat = (Get-VHD $VHDFile).VhdFormat
        if ($VHDFormat -eq "VHD")
            {
            [string]$VHDXFile = $VHDFile + "x"

            [string]$ControllerType = $VHD.ControllerType
            [string]$ControllerNumber = $VHD.ControllerNumber
            [string]$ControllerLocation = $VHD.ControllerLocation

            Write-Host "Converting: " $VHDFile "to" $VHDXFile
            Convert-VHD –Path $VHDFile –DestinationPath $VHDXFile
            Sleep 10

            #Reconfigure the Physical Sector Size of the VHDX file to 4 K
            Set-VHD -Path $VHDXFile -PhysicalSectorSizeBytes 4096
            Sleep 10

            #Remove the old VHD
            Write-Host "Removing $VHDFile from $VMName"
            Remove-VMHardDiskDrive $VHD
            Sleep 10
            #Replace the VHD with the VHDX
            Write-Host "Adding $VHDXFile to $VMName"
            Add-VMHardDiskDrive -VMName $VMName -Path $VHDXFile -ControllerType $ControllerType -ControllerNumber $ControllerNumber -ControllerLocation $ControllerLocation

            #Danger Will Robinson – we are going to delete the original VHD – we hope you have a tested VM backup!
            Write-Host "Deleting $VHDFile"
            Remove-Item $VHDFile -Force
            }
        else
            {
            Write-Host "$VHDFile is already a VHDX file: skipping"
            }
    }

    if ($VMStatus -eq "Running")
    {  
        #Restart the VM if it was running before the conversion
        Write-Host "Starting" $VMName
        Start-VM $VMName  
        #Wait for 10 seconds
        Write-Host "Waiting for 10 seconds to verify the virtual machine …"
        Sleep 10
        $VMStatus = $VM.State
        if ($VMStatus -ne "Running")
        {
            #Something went wrong
            Write-Host "$VMName could not reboot – please restore the VM from backup"     
        }
    }

}
else
{
    Write-Host $VMName "does not exist on this host"
    Exit
}

Write-Host "Processing of $VMName has completed"

KB2929766 – Configuring Paging File In Hyper-V VM’s SCSI Drive Fails

When enabling Hyper-V Replica for Windows VMs, it is recommended to move the guest OS paging file from the C: drive to another virtual hard disk. This allows you to deselect that paging file virtual hard disk from replication, thus saving needless bandwidth.

Microsoft has published a support article for when configuring a page file on a SCSI drive fails on Generation 1 Hyper-V virtual machine.

Symptoms

Consider the following scenario:

  • You create a virtual machine that is running on Windows Server 2008 R2 or Windows Server 2012 Hyper-V.
  • You manually configure a page file on a non-system drive, which is a virtual hard disk (VHD) attached to emulated SCSI adapter.
  • You restart the virtual machine.

In this scenario, no Pagefile.sys is created under the selected drive. Additionally, on Windows Server 2008 R2 Hyper-V, you receive the following error message

Windows created a temporary paging file on your computer because of a problem that occurred with your paging file configuration when you started your computer. The total paging file size for all disk drives may be somewhat larger than the size you specified.

Status

This behavior is by design.

In generation 1 virtual machines, you should create a virtual hard disk on the VM’s IDE controller and move the paging file to that new disk. There are no issues with the paging file being on a SCSI controller in generation 2 virtual machines; they don’t have IDE controllers.

Virtual Networking Problems With Emulex NICs And Windows Server 2012 R2

Unfortunately, problems have arisen with WS2012 R2 Hyper-V networking where Emulex NICs are used. Hans Vredevoort (Hyper-V MVP) and Marc van Eijk (Azure MVP) have been experiencing this issue and blogged about it on Hyper-V.nu.  It appears that lots of you have encountered the same problem with VMs and virtual NICs losing connectivity when a virtual switch is connected to an Emulex NIC – in the guys’ case in HP blades with FlexFabric.

The core issue seems to be related to Emulex 10 GbE NICs – As they guys report in their post Kristian Nese (System Center MVP) also sees the problem on IBM servers with Emulex NICs.

There is no fix. Please watch the thread on Hyper-V.nu to keep up with updates.

KB2920193 – Virtual Hard Disk Can’t Be Created On WS2012 SMB Share Without Resiliency

Another hotfix, KB2920193, has been released by Microsoft, this time to deal with a scenario where a virtual hard disk cannot be created on an SMB server without resiliency support from a Windows 8 or Windows Server 2012 computer.

Assume that you have a computer that has Windows 8 or Windows Server 2012 installed and you are connected to a server share across a SMB2 link that does not support resiliency. Resiliency is an optional feature beginning with SMB 2.1 and some SMB2 implementations do not support resiliency. Then, you experience one of the following issues:

  • When you use Windows Server Backup, you receive the following error message: Backup failed to complete. There was a failure in preparing the backup image.
  • When you use Hyper-V manager to create a VHD or VHDX, you receive the following error message: The filename \<system><share>New Virtual Hard Disk.vhdx is reserved for use by Windows.
  • When you try to mount an .ISO image by right-clicking on the .ISO file in Explorer and select mount from the right-click menu, you receive the following error message: sorry there was a problem mounting the file.
  • When you use the Win32 API, CreateVirtualDisk() fails.

Uhhh, SMB 2? Huh? Just use WS2012 on all ends to stick with SMB 3.0 and avoid this issue.

A hotfix is available from Microsoft

KB2913766 – Improving JBOD Management For WS2012 R2 Storage Spaces

A very useful update, KB2913766, was released by Microsoft to improve storage enclosure management for Storage Spaces in Windows 8.1 and Windows Server 2012 R2.

This article introduces a hotfix that extends platform support for Storage Spaces in Windows 8.1 and Windows Server 2012 R2. After you install this hotfix, storage enclosure management is improved. The improvement is achieved by adding Storage Management Application Programming Interface (SMAPI) support for enclosure awareness that enables managing and health monitoring of just-a-bunch-of-disks (JBOD) enclosures.

The hotfix is available from Microsoft.

There is no documentation to state what the exact improvements are. I know “some” stuff but I don’t know how clear I am to share it. A search based on that “stuff” revealed nothing public.

KB2908243 – WS2012 Computer With NIC Teaming Loses Network Connectivity

Microsoft released KB2908243 to deal with a situation where a Windows Server 2012-based computer on which you configured NIC Teaming has no network connectivity.

Consider the following scenario:

  • You have a computer that is running Windows Server 2012.
  • You configure NIC Teaming, also known as load balancing and failover (LBFO), on the computer.
  • You restart the computer.

In this scenario, you may find that the computer has no network connectivity. However, when you restart the computer, network connectivity is restored.

A supported hotfix is available from Microsoft Support.

KB2919394 – Update Rollup For WS2012 R2

Microsoft has released a February update rollup for Windows Server 2012 R2, as well as Windows 8.1 and Windows 8.1 RT. This is a much bigger UR than the one that was just released for Windows Server 2012.

I’ve noticed two updates that Hyper-V and/or clustering folks should be aware of:

KB2920469 deals with a situation where you cannot change the schedule for CAU self-updating mode in Windows Server 2012 or Windows Server 2012 R2 by using CAU GUI.

Assume that you have a cluster that runs Windows Server 2012 or Windows Server 2012 R2. When you try to change the Cluster-Aware Updating (CAU) schedule by using the GUI, the time for the automatic update schedule is not changed, and the old time remains.

KB2920196 is for when you cannot create or change the name of a debugger named pipe for a VM when it is running in Windows 8.1 or Windows Server 2012 R2.

When you have a virtual machine that is running in Windows 8.1 or Windows Server 2012 R2, you cannot create or change a debugger named pipe’s name for the virtual machine while it is running.

This issue occurs because of a regression that is introduced in Windows 8.1.

As I said in the WS2012 post, don’t be an IT haemophiliac; delay approval of this update for a month and let the rest of the world be Microsoft’s test lab. If you don’t see any update to this update in one month, then approve and deploy it if you’re happy.

KB2919393 – Update Rollup For WS2012

Microsoft has released a February update rollup for Windows Server 2012, as well as Windows 8 and Windows RT (8). There’s one included update that Hyper-V or clustering folks should be aware of:

KB2920469 deals with a situation where you cannot change the schedule for CAU self-updating mode in Windows Server 2012 or Windows Server 2012 R2 by using CAU GUI.

Assume that you have a cluster that runs Windows Server 2012 or Windows Server 2012 R2. When you try to change the Cluster-Aware Updating (CAU) schedule by using the GUI, the time for the automatic update schedule is not changed, and the old time remains.

As usual with update rollups, don’t be an IT haemophiliac; delay approval of this update for a month and let the rest of the world be Microsoft’s test lab. If you don’t see any update to this update in one month, then approve and deploy it if you’re happy.