How to: Enable data deduplication in Windows Server 2012

A very cool new feature within Windows Server 2012 is Data Deduplication. Windows will look on block level to duplicate files and removes this files with pointers to the duplicate files. This can save you a lot of diskspace! Data Deduplication can be enabled on all the volumes of your server, except the boot volume!

By default, Data Deduplication will only deduplicate data that is not changed over the last 30 days. You can change this value to any numbers of days you want. Lets enable Data Deduplication. After enabling Data Deduplication, there are three scheduled tasks available (only vissible through PowerShell).

In my example I’ve copied the Windows Server 2012 ISO three times to my ISO partition. So there are three folder called ISO1, ISO2 and ISO3. All the folder contains exact the same data. So three times the ISO files are around the 10 GB of storage on my disk. Watch the result after enabling this great new feature….do you have any idea?? 😉

1.) Open the  Server Manager and enable Data Deduplication on the File and Storage Services server role.
2.) Or open PowerShell and enable this rol
Import-Module ServerManager
Add-WindowsFeature -name
FS-Data-Deduplication
3.) Enable Deduplication on the specific volume or volumes
Import-Module Deduplication
Enable-DedupVolume
E:
4.) View the new scheduled Deduplication jobs
Get-DedupSchedule
5.) Change the MinimumFileAgeDays value to 0
Set-DedupVolume E: -MinimumFileAgeDays 0
6.) Start the Deduplication jobs manualy
Start-DedupJob E: -Type Optimazation
Start-DedupJob E: -Type GarbageCollection
Start-DedupJob E: -Type
Scrubbing
7.) After a few minutes, watch the result!
Get-DedupStatus
How cool is that. Are you also going to enable Data Deduplication? 😉

DEDUP_02    DEDUP_03    DEDUP_04

DEDUP_05    DEDUP_06    DEDUP_07

DEDUP_08    DEDUP_09    DEDUP_10

How to: Enable Jumbo frames on your ISCSI network interface using PowerShell

When building an Windows Server 2012 Hyper-V environment, you want to automate some steps on all the cluster nodes. One of this steps is definitely enabling Jumbo frames on your ISCSI interface(s). You can do this on the properties of you NIC interface, but when you’re installing Hyper-V 2012 Server…YES, there’s no GUI.

The great thing is that there is something called PowerShell ;). You can configure Jumbo frames using PowerShell.

1.) Open PowerShell
2.) Generate an overview of all the Network Interfaces in your Hyper-V host
Get-NetAdapter | ft Name
In my labenvironment there are two ISCSI interfaces (ISCSI01 and ISCSI02)
3.) Show the advanced NIC properties of the ISCSI interfaces
Get-NetAdapterAdvancedProperty -name ISCSI01
Get-NetAdapterAdvancedProperty -name
ISCSI02
As you can see, Jumbo Packet is Disabled
4.) Configure the most common Jumbo Frame setting of 9014 bytes. Note that not all SAN’s supports this value.
Set-NetAdapterAdvancedProperty -Name ISCSI01 -RegistryKeyword “*JumboPacket” -Registryvalue 9014
Set-NetAdapterAdvancedProperty -Name ISCSI02 -RegistryKeyword “*JumboPacket” -Registryvalue 9014
5.) Now Jumbo frames is enabled
Get-NetAdapterAdvancedProperty -name ISCSI01
Get-NetAdapterAdvancedProperty -name
ISCSI02

JF_01    JF_02    JF_03

JF_04    JF_05    JF_06

New eBook – Building a Hyper-V Cluster for under $2000

Altaro released a new eBook this week. In this eBook, Eric Siron talks about his new labenvironment he build. The big challange is to build a Hyper-V cluster for the lowest cost. If you can see, the title of this eBook is “Building a Hyper-V Cluster for under $2000. Sounds great?!

You can download the eBook from the Altaro website. Click here.

2013-03-28_12h41_43

ConfigMgr 2012 client installation on Windows 8 returns an error 0x800b101

Last week I have been working on a Windows 8 deployment with ConfigMgr 2012. After configuring a new task sequence, I was able to deploy the first Windows 8 image to one of many virtual desktops. The deployment went fine, until the ConfigMgr client installation. Okay, so what about now. Let’s have a look in the CCMSETUP.LOG on the client. I received the following error:
“Couldn’t verify C:\WINDOWS\ccmsetup\MicrosoftPolicyPlatformSetup.msi authenticode signature. Return code 0x800b101”.

After some search on Microsoft TechNet, I found the solution for this problemn. Microsoft has released a hotfix for this error (KB2801987) . You have to request this hotfix by e-mail.

After requesting and downloading the hotfix, you have to install this hotfix on your primary site server. It wil create a new update package named “KB 2801987 – server update – P01”. If you browse to your client installation files on your primary site server, you’ll also see that the timestamp has changed. So the ConfigMgr client installation files are also updated! Make sure you update the distribution point(s) with the new version of the ConfigMgr 2012 client installation package.

Now you’re able to succesfully deploy Windows 8 with the ConfigMgr 2012 client.

WIN8_01    WIN8_02    WIN8_03

WIN8_04    WIN8_05    WIN8_06

WIN8_07    WIN8_08    WIN8_09

WIN8_10    WIN8_11    WIN8_12

WIN8_13    WIN8_14    WIN8_15

WIN8_16    WIN8_17    WIN8_18

Adding PXE support in ConfigMgr 2012 failed

Last week I setup a new ConfigMgr 2012 infrastructure. Everything works just fine, until I added PXE support to my distribution point. After I checked the “Enable PXE support for clients” box, the SMS_DISTRIBUTION_MANAGER process started the installation of all the components needed for PXE support.

  • The vcredist are being installed
  • The WDS Server rol gets installed
  • PXE Provider is initialized
  • The WDS Service gets started and configured

A couple of minutes later, some errors are in the logfile DISTMGR.log. After I rebooted the ConfigMgr server, the following error message displayed:
“There is a file of folder on your computer called “C:\progam” which could cause certain applications to not function correctly. Renaming it to “C:\program2″ would solve this problem. Would you like to rename it now?”

Let’s navigate to the C:\ drive, and there is the file. Renaming the file to C:\program_old and rebooted the server again, everything works fine and the WDS service is starting correctly now. Also the logfile DISTMGR.log is fine now. It looks like a bug within ConfigMgr 2012, but I didn’t figured it out yet…

PXE_DP_01    PXE_DP_02    PXE_DP_03

PXE_DP_04    PXE_CP_05    PXE_DP_07

PXE_DP_06    PXE_DP_08

How to: Building the ultimate lab environment using Windows 8 Client Hyper-V

When you have to create an testlab environment with multiple servers, it is a big job to install all the servers. Even when you are using Hyper-V in this environment. You manually have to install all the servers or make clones of another virtual machine. In this scenario it is very usefull to make use of Differencing Disks within Hyper-V. A Differencing Disks are linked to an master VHD or VHDX file. This master VHD or VHDX file is a virtual machine that has been sysprepped, for example Windows Server 2012.

Basically, all of the main reads for the VMs created with a differencing disk come from the master VHD or VHDX, while any changes (writes) are written to the differencing disk. The differencing disk will remain fairly small, because the amount of change should be minimal. You’re probably looking at around a couple of GBs per differencing disk. With a differencing disk you can build multiple machines with the same parent sysprep image.

labenvironment

My laptop contains Windows 8 with the Hyper-V role enabled, so basically my virtual environment is on my laptop. Because I have only 500 GB on storage available, it is very usefull for me to use differencing disks. A lot of virtual machines with a little need of storage.

You can build this environment by following the next steps;

1.) Create a new virtual machine within Hyper-V
2.) Install the Operating System with the specific updates
3.) Optionally you can install some base applications
4.) Sysprep the virtual machine. You can use the following command:
%windir%\system32\sysprep\sysprep.exe /generalize /shutdown  
5.) Now the virtual machine is sysprepped and power off
6.) Create a new virtual machine (or multiple)
7.) Create a new VHDX file using differencing disk
8.) Navigate to the base VHDX file you’ve just created (the sysprepped virtual machine)
9.) Edit some other settings within the virtual machine (cores, memory, NIC, etc.)
10.) Boot the new virtual machine
11.) Walk through the “First Run” steps of the Operating System
12.) The new virtual machine is now ready to use
13.) Navigate to the differencing disk (VHDX) and see how big it is…right it’s really small!

TMPL_01    TMPL_02    TMPL_03

TMPL_04    TMPL_05    TMPL_06

TMPL_07    TMPL_08    TMPL_09

TMPL_10    TMPL_11    TMPL_12

TMPL_13    TMPL_14    TMPL_15

TMPL_16    TMPL_17

How to: SCCM 2012 and installing drivers by computer model using WMI query

When you have multiple computer models in your organization, you have different driver packages available. Each model has his own driver package. You don’t want to use a task sequence per model, but only one task sequence with multiple models in it with different driver packages. This can be accomplished by using a WMI query within your task sequence.

One mayor thing you have to know are the exact computer models in your organization

1.) Create a new task sequence. (in my example Windows 7)
2.) Add a task Apply Driver Package
3.) Select the right Driver Package
4.) Navigate to the Options tab
5.) On the target PC open the command prompt
6.) The next thing you want to know is the hardware model of the target PC.
WMIC ComputerSystem GET model
In my example it is an Dell OptiPlex 9010 as you can see
7.) Navigate back to your task sequence in the Options tab
8.) The WMI namespace will be root\cimv2
9.) The WQL Query will be SELECT * FROM Win32_ComputerSystem WHERE Model LIKE “%OptiPlex 9010”
10.) Now the right driver package will be installed during your task sequence.

SCCM_DRV_01    SCCM_DRV_02    SCCM_DRV_03

SCCM_DRV_04 (2)    SCCM_DRV_05    SCCM_DRV_06

How to: Lock desktop icon using RES Workspace Manager 2012

When you’re using a Server Based Computing environment managed with RES Workspace Manager 2012, the users have the abbility to lock their desktop. Normally, the users using the tray icon to lock the desktop. One of the disadvantages using the tray icon, is the 5 seconds wait time before the desktop is actually locked. After a black screen for 5 seconds, the desktop is locked.

It is also possible to create a application for the users to lock their desktop. A great thing about this is that the user don’t have to wait 5 seconds before the desktop will be locked.

1.) Create a new application
2.) Use the following configuration
Command:%systemroot%\system32\rundll32.exe
Working directory:%systemroot%\system32
Parameters: user32.dll,LockWorkStation
3.) Select the user of users that are going to use this application
4.) Select the right Workspace Container, for example Windows XP, Windows 7 or Citrix Xenapp environment

Now the users have a new application available in the start menu. You  can force a mandatory desktop icon. All you need to do is double click the new application and your desktop is locked now!

RES_LD_01    RES_LD_02    RES_LD_03