Archive for the ‘Microsoft Windows 8.1’ Category

During a deployment of Microsoft Windows 8/8.1, you’ll receive a question to select a prefered network connection. This is also happening during a task sequence within Microsoft SCCM 2012 R2. It’s easy to disable this
question during the task sequence, using an unattend XML file.

1.) First open the “Windows System Image Manager”, also known as WSIM
2.) Select the image you want to deploy. In my example “Install.WIM” from the Windows 8.1 source files
3.) Create a new catalog for this image
4.) After the catalog has succesfully created, create a “New Answer File”
5.) Navigate to the following selection
amd64_Microsoft-Windows-Shell-Setup_6.3.9600.17031_neutral
6.) Select the “+” on the left side and naviagte to “OOBE”
7.) Right-click on “OOBE” and select “Add Settings to Pass7oobeSystem
8.) Select in the right pane OOBE
9.) Select in the properties pane “HideWirelessSetupInOOBE” and set the value to “True”
10.) Save the XML file on your “source” directory on your primary site server
11.) Create a new package with the source directory to the directory you’ve created in the stap before
12.) Do NOT create any program in the package, so select “Do not create a program”
13.) Distribute the new package to your distribution point(s)
14.) Open your task sequence and navigate to stap “Apply Operating System”
15.) Select the option “Use an unattended or Sysprep answer file for a custom installation
16.) Select the package you’ve created before and type the name of your XML file within that package source location
17.) Boot a client from the network (PXE) and select the task sequence.

If you follow the steps within the task sequence, you’ll see that you didn’t receive a network connection screen anymore.

When you install a default Windows 8.1 machine, there’re a few modern apps available. In some environments, you want
to remove these modern apps for your users.

With the following steps, you can delete specific apps or all the modern apps.

1.) To get a overview off all the package, use the following command:
Get-AppxPackage | ft Name, PackageFullName -AutoSize
2.) Let’s remove the Finance modern app
Remove-AppxPackage -Package Microsoft.BingFinance_3.0.1.172_x64__8wekyb3d8bbwe -Confirm:$false
3.) Return to the start menu and now you’ll see the Finance app is gone
4.) To remove all the modern apps, use the following command:
Get-AppxPackage | Remove-AppxPackage -Confirm:$false

In some scenario’s you want to remove some buttons within the options of Mozilla Firefox. Because there are not that enhanced group policies for Mozilla Firefox, you’ve to script something. In my example I’ve used RES Workspace Manager to distribute the modified files, but you can also use something else. For example: PowerShell, batchfiles or Group Policy Preferences.

You can edit the file userChrome.css in the folder AppData\Roaming\Mozilla\Profiles\<nameofyourprofile>\chrome to tweak the menu settings within Mozilla Firefox. In my example I’ve added the following rule:/* Remove connection button */
#connectionSettings { display: nome !important; }

When you open Mozilla Firefox the next time, the “Settings” is gone! 🙂

During a OS deployment you don’t want to deploy all your packages and software to every workstation. You can deploy the software after a full OS deployment, but you can also deploy packages during the OSD using collection variables. Now it is possible to deploy packages only if a specific machine is a member of a collection. This collection can be query based, for example OU membership or Active Directory security group, or it can be static (direct membership).

In this example I’ve created a realy simple deployment, Adobe Reader 11.0. I’ve two virtual machines, SCWIN81-01 and SCWIN81-02. Both machines are members of the collection “Deploy – Windows 8.1 Enterprise x64”, where the task sequence is deployed on. Machine SCWIN81-01 is also member of the collection “Install – Adobe Reader 11.0”. This collection has a limited collection of “Deploy – Windows 8.1 Enterprise x64”. Both machines are deployed on the same time, the only difference is that machine SCWIN81-01 has Adobe Reader 11.0 installed and machine SCWIN81-02 not. Why……based on the collection variable during the OSD 🙂

1.) First create the collections
2.) Make the specific machines members of the right collections (query based or direct membership)
3.) Open the properties of the collection “Install – Adobe Reader 11.0” and navigate to the “Collection Variables” tab
4.) Add one or more variables with some values. In this example the variable is “APP-AdobeReader” with the value “Yes”5.) Open the task sequence and add a package installation step
6.) Add the package with the program and navigate to the “Options” tab
7.) Select “Add Condition” and select “Task Sequence Variable”
8.) Enter the collection variable you’ve created earlier with the same value. In my example:Task Sequences Variable APP-AdobeReader equals “Yes”
9.) Select “Apply” and close the task sequence.
10.) Start the OSD on both machines and wait until the installation is done!
11.) Watch the differences between both machines, if everything is okay, one machine has Adobe Reader installed and the other not.

This is an extremely powerfull thing within ConfigMgr, and really helpfull is some scenario’s. For example VDI golden image deployments or hybrid environments with laptops/desktops or multiple organizations using one ConfigMgr environment. One main reason could be consolidation in task sequences. If you want, there should be only one task sequence for all you different deployments. This is why I’m loving collection varaibles! 🙂

During a OS deployment with ConfigMgr 2012 R2, you definitely want to apply the latest Windows updates and patches, for example with Windows Server Update Service (WSUS). You can also integrate WSUS within ConfigMgr 2012 R2, but in this example WSUS is not integrated!!

This example is also very usefull to create a fully patches golden image in ConfigMgr 2012 R2 (Build & Capture). After the task sequence you’ve a fully patches Windows 8.1 machine that you can use for example VDI environments.

When a user login the very first time on a Windows 8 of 8.1 machine, they will see a “animation” with some helpful tips. During this stage the userprofile is being created and prepared. While the first sign-in animation may be helpful to new users to see, but it slows down the logintimes. So let’s turn this animation off using ConfigMgr 2012 R2.

In some cases you’ve to add computer to a Active Directory security group. For example Direct Access laptops. In this example I’ve created a VBS script for adding a computer to an Active Directory security group during OSD in ConfigMgr 2012 R2.

1.) Create a new package within ConfigMgr 2012 R2 without a program
2.) Distribute the new package to you distribution point(s)
3.) Copy the script “ADgroup.vbs” to the source location of your new package
4.) Add a step “Run Command Line” to your task sequence
5.) Add the command line: cscript.exe adgroup.vbs [name of your AD group]6.) Select the package “Scripts”
7.) Select a account with enough privileges to add (new) computer object to the Active Directory
8.) Deploy your task sequence to a collection

When you do a lot of deployments whitin your Windows 8.1 Client Hyper-V machine, the disk space is getting more and more. Because I’ve only one SSD drive of 250 GB, the free space becomes critical. I’ve got to find a way to reduce it. I read a few blogs and found a solution which is the dedup. But data deduplication is not available whitin Windows 8.1.

This method is not officially supported by Microsoft ,however found a way to save my disk space.

This method requires the CAB files from the Windows Server 2012 R2. Either you can get those files from a Windows Server 2012 R2 or you can download the files from my OneDrive here.
The files are as follow :
• Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~en-US~6.3.9600.16384.cab
• Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~~6.3.9600.16384.cab
• Microsoft-Windows-FileServer-Package~31bf3856ad364e35~amd64~en-US~6.3.9600.16384.cab
• Microsoft-Windows-FileServer-Package~31bf3856ad364e35~amd64~~6.3.9600.16384.cab
• Microsoft-Windows-VdsInterop-Package~31bf3856ad364e35~amd64~en-US~6.3.9600.16384.cab
• Microsoft-Windows-VdsInterop-Package~31bf3856ad364e35~amd64~~6.3.9600.16384.cab

I downloaded the files to a folder as below and installed all the CAB files:

Next step is to install the CAD files on your Windows 8.1 machine. I’ve used DISM to install these files.

After you’ve succesfully installed the CAB files, you’re able to install the “Data Deduplication” role. I’ve also used DISM (see screenshot below).

The next step is to enable Data Deduplication on the volume or volumes. First I’ve readthe current free space on my E: drive. After enabling Data Deduplication on this volume, I’ve manually started the Data Dedup task.

But after enabling Data Depuplication and running the Dedup Job, there’s nothing happening!! Why?? Because the minimumFileAgeDays is 3 and my files on the hard drives are 2 days old 🙂 So I’ve added the MinimumFileAgeDays to 0 (zero days). After running the Dedup Job again, let’s have a look on the current free space!! Dedup is doing his job!!! 🙂 Cool!

The final screenshot are the commands I’ve used to configure this in my lab environment. Once again, this method is not officially supported by Microsoft.It’s a great way to save some disk space on your expensive SSD hard drive! Now you can deploy more virtual machines on the same hard drive, so happy automation and deployment!! 🙂