Storage Spaces Inaccessible After Windows Server 2012 R2 Upgrade

Windows Server 2012 R2 has some nice new features and improvements on existing features for users of Storage Spaces so there is a definite appeal for users of Windows Server 2012 to want to upgrade to Windows Server 2012 R2.  If you opt to do an in-place upgrade to preserve your existing Storage Spaces so that you can get your service up and running with the hope of being able to use them straight off the bat in Windows Server 2012 R2, you may encounter an error Read-only by user action and you need to perform some corrective steps to use them again.

Storage Space Read-Only User Action

This is what your Storage Spaces may look like if you open the Storage Spaces control panel item after the upgrade. As you can see, the spaces are in-tact and will report all of the space names and capacity from prior to the upgrade but instead of being online as you are used to seeing, you instead have this information icon and a message alongside the pool capacity indicator Read-only by user action. This is a built in protection feature of Windows Server 2012 R2 which takes your Storage Spaces offline by default after an upgrade. We just simply need to bring them online to use them. This is very similar to how in Windows Server 2003, a disk connected from an external system from a software RAID set could be marked as Foreign and the configuration of the disk needs to be imported first.

Changing the Storage Pool Status to Read/Write

To do this, open an administrative PowerShell prompt. At PowerShell, enter the two Cmdlets as follows:

Get-StoragePool | Where-Object {$_.IsReadOnly -eq $True} | Set-StoragePool -IsReadOnly $False
Get-VirtualDisk | Where-Object {$_.IsManualAttach -eq $True} | Set-VirtualDisk -IsManualAttach $False

If you forget to elevate the PowerShell prompt by running it as an administrator you will get access denied responses to the two Cmdlets as you aren’t running the Cmdlets with your administrative rights. Simply close PowerShell and re-open it by right-clicking and using the Run as Administrator option.

Bring the Storage Spaces Online

Once you’ve entered the Cmdlets above, returning to the Storage Spaces control panel applet now, you will see the information shown has updated.

Storage Space Offline by Policy

As you can see, the Storage Spaces are now reporting their status as OK but they are marked as Offline by Policy. To change this and to bring the Storage Spaces online, simply click the Bring Online option next to each Storage Space and it will be brought online and granted a drive letter.

Check, Verify and Reminder

It’s important to note here that the drive letter assigned will be the next free letter and not perhaps, the drive letter that you used on the previous installation of Windows Server 2012. If you have a requirement for the Storage Space to be on a particular letter then you will need to go into the Properties of the individual spaces after it has been brought online and change the letter.

It’s also good to remember that any file shares you had on these Storage Spaces may be un-shared through the upgrade process so you should check the existence of your shares either by using the Properties on the drive or folder which you needed to be shared or by using the Share and Storage Management administrative console.

Once you’ve got your Storage Spaces all brought online after the actions above, you should be looking like normality again as shown below.

Storage Space Online Normal

Hopefully someone out there finds this useful and it saves at least a few hair extractions from taking place after a Windows Server 2012 to Windows Server 2012 R2 in-place upgrade. Now it’s time to go and enjoy those new features.

Offline Installation of Silverlight 3.0 Runtime

Whilst working on the DVD for our wedding to ship out to everyone (yes, I know it was a long time ago), I’ve been trying to work out how to build an offline installer for Silverlight onto the disc.

The reason being I am shipping this DVD out to people all over the place and some of which I can’t guarantee a stable or fast network connection to download Silverlight.

Whilst looking around on the blogosphere for information about offline installations for Silverlight, I have across this posting by Tim Heuer at

Whilst helpful, this article is targeted squarely at developers – Not me in this case, so I had to find my own solution, but Tim was of some help.

Step One is to download the Silverlight Development Runtime from Microsoft.

Once downloaded extract the contents of the runtime to a folder. I use WinRAR to do this, but that part is up to you.

You will now have a directory which contains the following files:

  • install.exe
  • install.res.dll
  • silverlight.7z
  • silverlight.msi
  • silverlightdev.msp

If you run the intall.exe file this will start the Silverlight 3 for Developers installer however do not be fooled.
If you check Programs and Features (Add or Remove Programs for XP lovers) after the install is done, nothing is actually mentioned about developers. This simply installs the Silverlight 3 Runtime.

If you are looking for something a bit more fancy then you could do a silent install using install.exe /q which also works.

For GPO installers out there the silverlight.msi is actually an empty container and will show Silverlight in the Programs and Features list but presents a 0 KB installation size and version number. You need to chain the silverlight.msp file which is within the silverlight.7z file to the end of the install to actually install the Silverlight Runtime.