The Deployment Bunny

OS Deployment, Virtualization, Microsoft based Infrastructure…

  • about.me

    about.me/mikaelnystrom

  • Archives

  • Meta

Posts Tagged ‘Windows Server 2012 R2’

Microsoft Virtual Academy (MVA) – Storage Spaces Deep Dive

Posted by Mikael Nystrom on May 8, 2015

I have been working with Windows Server Storage Spaces since it was invented. It is great technology and I love it! Recently I was asked to be a part a MVA session on Storage Spaces and I just could not resist. My idea was to do something that is based on our real experience building storage spaces solutions.

So, together with Markus Lassfolk and Ola Skoog we did a Microsoft Virtual Academy class with four parts,

  • Storage Spaces: Architecture

  • Storage Spaces: Design

  • Storage Spaces: Performance

  • Storage Spaces: Lessons From The Field

If you are into Storage Spaces and you would like to know from experienced MVP’s building Storage Spaces, this is for you, Enjoy!

http://www.microsoftvirtualacademy.com/training-courses/storage-spaces-deep-dive

image

Posted in MVA, Storage Spaces, Training, Windows Server 2012 R2 | Tagged: , , , | 4 Comments »

PowerShell is King–Convert Windows Server Editions during OS Deployment (MDT/LiteTouch)

Posted by Mikael Nystrom on July 2, 2014

Yesterday I posted a simple UI based PowerShell script that allows the local administrator of the server to change the Windows Edition. That is is a nice to have function, but what if you would like to do that during the deployment of the server instead of after. This way you can have two task sequences, one for Standard and one for datacenter but just have one WIM file (also means one reference image). For the same reasons I mentioned in the previous post,  I have created some scripts for this.

You can read the previous post on the UI method here https://deploymentbunny.com/2014/07/01/powershell-is-kingconvert-windows-server-editions-using-a-ui-based-powershell-script/

All three options here are using the same base logic with the same kind of option. Instead of defining every different “upgrade” , I decided to have just 2, NEXT and TOP. When TOP is selected as an option it will upgrade to the TOP Edition, in other words Datacenter. When NEXT is selected, it will do the NEXT level. That means that a standard will be datacenter, unless it is a 2008 r2, then a standard will be enterprise. Evaluations will be the “same, so a standard evaluation, will be a standard . In a bit more detail, this is what the scripts actually do…

What kind of conversion can the scripts perform?

Source OS   UpgradeLevel Destination OS
Windows Server 2008 R2 Standard to NEXT Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Standard   TOP Windows Server 2008 R2 Datacenter
Windows Server 2008 R2 Enterprise   NEXT/TOP Windows Server 2008 R2 Datacenter
Windows Server 2012 Standard Evaluation   NEXT Windows Server 2012 Standard
Windows Server 2012 Standard Evaluation   TOP Windows Server 2012 Datacenter
Windows Server 2012 Standard   NEXT/TOP Windows Server 2012 Datacenter
Windows Server 2012 R2 Standard Evaluation   NEXT Windows Server 2012 R2 Standard
Windows Server 2012 R2 Standard Evaluation   TOP Windows Server 2012 R2 Datacenter
Windows Server 2012 R2 Standard   NEXT/TOP Windows Server 2012 R2 Datacenter

 

Option No:1 (VB Script as an Application)

The first option is to use a VBscript and run it as an application, that gives a great logging and integration with the Task Sequence in MDT. The script uses a Custom property called UpgradeLevel (which can be set to either NEXT or TOP) that you needs to be added to CustomSettings.ini

Step By Step, kind of…

Download Script from : http://1drv.ms/TBO9Zw

Add the Custom property UpgradeLevel.

image

Import the Application in the Deployment Workbench.

image

Modify the Task Sequence (add a Set Task Sequence Variable Step)

image

Modify the Task Sequence (Add the Application)

image

Deploy a Server and check the logfile.

image

Option No:2 (PowerShell Script as an Application)

The second option is to use a PowerShell script instead, still running as an application, I added some logic to discover the presence of a Task Sequence, that way logging can end up in the correct location

Step By Step, kind of…

Download Script from : http://1drv.ms/TBOgEn

Add the Custom property UpgradeLevel.

image

Import the Application in the Deployment Workbench

image
The command line is a bit long so here it is in text form
PowerShell.exe -ExecutionPolicy Bypass -File Upgrade-SKU.ps1 -UpgradeLevel %UPGRADELEVEL%

Modify the Task Sequence (add a Set Task Sequence Variable Step)

image

Modify the Task Sequence (Add the Application)

image

Deploy the server and check the logfile.

image

Option No:3 (PowerShell Script in TaskSequence)

The third option is to run it as a PowerShell task Sequence

Step By Step, kind of…

Download Script from :http://1drv.ms/1qjoOAk

Save the script in the scripts folder

Modify the Task Sequence (Run PowerShell script)

image

Modify the Task Sequence (Add a reboot Action)

image

Deploy a server and check the logfile.

image

/mike

Posted in MDT, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 | Tagged: , , | 4 Comments »

PowerShell is King–Convert Windows Server Editions using a UI based PowerShell script

Posted by Mikael Nystrom on July 1, 2014

If possible it is best practices to keep the number of images to a minimum. So, in my line of work I’m building reference images for both client and servers, many of the organization I work with are struggling with the fact that they need to have both old images and new images, both servers and clients and also both 32 and 64 bit. Add all that up you will realize that, hmm, lets see… that will be 9 images to maintain, no, wait, I missed the fact that we also have different editions. Servers have Standard and Datacenter edition, that is three more, or actually its 4 more since Windows Server 2008 R2 have Standard, Enterprise and Datacenter.

Download the script from http://1drv.ms/1lMpr4i

The solution

Since it is possible to upgrade every Windows Server edition (Windows Server 2008 R2 and above) to a higher edition (and that includes evaluation editions to) by changing the product key using DISM.exe it is possible to create reference images with the lowest SKU(Edition) that your organization needs and upgrade during the deployment or as this blog post is about, after the OS has been deployed. Internally for us this is great since we are running many proof of concept, labs, tests and such and many cases. I gave up telling/explaining for our internal staff on how to do this, ending up with a script that is “user-friendly”.

To be able to change edition, you need to have a product key, and what we do is that we change to the KMS client key, so yes it needs to be activated after it has been modified. You can find all these product keys at TechNet here: http://technet.microsoft.com/en-us/library/jj612867.aspx

What kind of conversion can the script perform?

Windows Server 2008 R2 Standard to Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Standard to Windows Server 2008 R2 Datacenter
Windows Server 2008 R2 Enterprise to Windows Server 2008 R2 Datacenter
Windows Server 2012 Standard Evaluation to Windows Server 2012 Standard
Windows Server 2012 Standard Evaluation to Windows Server 2012 Datacenter
Windows Server 2012 Standard to Windows Server 2012 Datacenter
Windows Server 2012 R2 Standard Evaluation to Windows Server 2012 R2 Standard
Windows Server 2012 R2 Standard Evaluation to Windows Server 2012 R2 Datacenter
Windows Server 2012 R2 Standard to Windows Server 2012 R2 Datacenter

How to use?

Execute the script from an elevated command prompt and select upgrade type.

image
Changing from Windows Server 2008 R2.

image
Changed from Windows Server 2008 R2.

image
Changing from Windows Server 2012 R2 Standard Evaluation.

image
Changing from Windows Server 2012 Standard.

Posted in PowerShell, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 | Tagged: , , , | 1 Comment »

Nice to Know–After a long time, Emulex now finally admit that there is an issue in the firmware and help is soon to appear

Posted by Mikael Nystrom on June 22, 2014

The combo of Hyper-V, VMQ, Emulex and lost network connectivity has been a nightmare for a long time. We have tried it all and the ONLY solution that works has been to disable VMQ, which sucks. Just a couple of days ago Emulex posted a note where they state that “some customers” (that is BS!) have reported loss of network connectivity. But there is light in the tunnel, they are working on new firmware so stay tuned for that. The new firmware is about to released mid-July 2014.

You should read the entire story and you can do that here:

http://blogs.emulex.com/implementers/2014/06/19/microsoft-windows-20122012-r2-hyper-vms-losing-network-connectivity-workaround/

/mike

Posted in Emulex, Hyper-V, VMQ, Windows Server 2012 R2 | Tagged: , , | Leave a Comment »

Nice to Know – MPIO “may” need to be configured correctly to increase performance when using Storage Spaces in Windows Server 2012 R2

Posted by Mikael Nystrom on May 19, 2014

This happens currently once a week, someone calls me and say “I’m using Storage Spaces with or without Scale Out file server and the performance is #”"!&%%&##”

There is many reasons but a very common is that MPIO be default is set to Round Robin and that is worse then bad.

Change the setting for all disks and for new disks as well by running the following command from en elevated PowerShell prompt:

Set-MSDSMGlobalDefaultLoadBalancePolicy LB

Read more here: http://support.microsoft.com/kb/2744261

Also read the blog from Jose:

http://blogs.technet.com/b/josebda/archive/2013/04/17/file-server-tip-how-to-rebalance-a-scale-out-file-server-using-a-little-powershell.aspx

http://blogs.technet.com/b/josebda/archive/2014/04/01/step-by-step-for-mirrored-storage-spaces-resiliency-using-powershell.aspx

http://blogs.technet.com/b/josebda/archive/2013/10/30/automatic-smb-scale-out-rebalancing-in-windows-server-2012-r2.aspx

Posted in Storage Spaces, Windows Server 2012 R2 | Tagged: | Leave a Comment »

Reduce DNS Client Cache in Windows Server 2012 R2

Posted by Mikael Nystrom on April 6, 2014

A very good friend (and Geek) wrote a post about modifying the cache when using RDP Gateway. A very common issue we have is when we deploy, configure and re-construct the infrastructure is that the gateway is keeping the cache a bit to long.

Get the solution from Markus Lassfolk

image

/mike

Posted in Windows Server 2012 R2 | Tagged: | Leave a Comment »

OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 1–Getting the Hardware info)

Posted by Mikael Nystrom on January 6, 2014

This is post refers to this post https://deploymentbunny.com/2013/12/29/os-deployment-oob-install-of-windows-server-2012-r2-using-mdtwds-and-powershell/

Out of Band or Bare Metal installation requires information regarding the hardware, that is no surprise. We need to to be able to define settings that can be retried from the hardware. In many/most client deployment scenarios I see people using the MAC Address or, Serial Number but I use the GUID number. When it comes to server they don’t really have one NIC and when it comes to Hyper-V that MAC address will be more or less removed since the machine in most cases is turning the NICs into switches and then virtual NICs will be on top of that, so GUID number is better. All “normal” brands have that, at least with new server hardware. In this case I’m deploying HP Servers and they have iLO which is basically an other name for IPMI. In the case of iLO it is rather easy to access that information, you don’t even need to be authenticated, all the information we need is there (https://deploymentbunny.com/2013/12/18/nice-to-know-getting-hardware-infoilo-data-using-native-powershell-and-no-need-for-credentials/)

By reading the XML data in turn it into an object it is rather easy to use the data in PowerShell.

Below you can see the part we use to grab that data.

image

/mike

Posted in Deployment, iLO, MDT, PowerShell, Windows Server 2012 R2 | Tagged: , , | 5 Comments »

OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell

Posted by Mikael Nystrom on December 29, 2013

PowerShell is amazing, it is now possible to do all those things I know would be possible, but did require compiled code or time I don’t have (Still working as an consultant in the real world you know). In my line of work besides automation, flexibility is one other keyword and that is very often used in conjuction with Windows Server deployment. Now, Windows Server is also amazing, it is a multipurpose operating system and multipurpose also means that while client deployment is pretty standard these days, server deployment is not even close to that. In SCCM we have great OS Deployment (even better with MDT integration), but in many cases I’m not allowed to use it. MDT is very flexible and many orgs are using MDT for server deployment and SCCM for clients and they have their reasons, but MDT lacks some of the features that SCCM/MDT does have. We also have an upcoming star and that is SCVMM, while SCVMM has some of the benefits that SCCM have but MDT does not have, well you get the point. But, if you could have bits and pieces from each and every one, and does not require an investment in System Center knowledge, what about having only Active Directory. Windows Deployment Services, DHCP/DNS, MDT and a PowerShell script? Wouldn’t that be nice?

The parts

It is not that hard to setup and configure, but still, there is a lot of moving parts and you need to understand them all, therefore it is dived in the following parts for more details
(note I’ll add the links as soon as I have written them, ok)

  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 1–Getting the Hardware info)
  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 2–Pre-stage device in AD)
  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell  (Part 3–Pre-stage device in MDT)
  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 4–Controlling Power remote)
  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 5–Controlling Drivers)
  • OS Deployment – Out Of Band install of Windows Server 2012 R2 Using MDT,WDS and PowerShell (Part 6–Apps and Firmware)

The Script

If you know this stuff and just need the script, download it from here: http://sdrv.ms/JCo5bO

Run Import-Module .\ServerDeployment-v1.psm1 –Verbose to import the module

image

run Get-Module to verify

image

To see all the functions you now have, just run Get-Command – Module ServerDeployment-v1

image

to get all the command syntax, just type Get-Command -Module ServerDeployment-v1 –Syntax

image

There is builtin help with command samples, just use Get-Help Command to get the help

image

Note: The script will assume certain things:

There are just a few hardcoded paths, its for the  two modules (yes, there are others way to solve the problem)

Make sure the dependent POSH modules are located here:

  • Import-Module ‘C:\Program Files\Hewlett-Packard\PowerShell\Modules\HPiLOCmdlets’ -ErrorAction Stop
  • Import-Module ‘C:\Program Files\Microsoft Deployment Toolkit\MDTDB.psm1’ -ErrorAction Stop

One last thing, this is not for beginners, you really need to understand the bits and pieces this time.

/mike

Posted in Deployment, iLO, MDT, PowerShell, Windows Deployment Services, Windows Server 2012 R2 | Tagged: , , | 3 Comments »

Nice to Know–Upgrading Storage Spaces 2012 to 2012 R2 is easy (and works)

Posted by Mikael Nystrom on December 26, 2013

Yes, it is doable and easy. I’m the process of moving some old, legacy 2012 systems over to new 2012 R2 systems and one of the items was my SAS based Storage Space.

Basically the “only” thing I did was install the new Servers, turned the old server off, moved the SAS cables and opened the Server Manager, ad there it is (in read only mode of course). After setting in read-write mode, you can then easily “upgrade” (Note:You cannot downgrade…)

image

/mike

Posted in Storage Spaces, Windows Server 2012 R2 | Tagged: | 1 Comment »

Nice to Know – Adding the missing Disk performance counters in task manager in Windows Server 2012 R2

Posted by Mikael Nystrom on December 24, 2013

This is one of those things that needs to be repeated, I know there are blogs out there around this, but still there is to many that does not know this easy tip.

Issue

I cant see the diskperformance in Windows Server 2012 R2’s taskmanager view?

image

Solution

Using an elevated prompt, enable the disk performance counters by typing

diskperf –y

image

Result

image

/mike

Posted in Windows Server 2012 R2 | Tagged: | 2 Comments »