How to: Enable RDP during Task Sequence with SCCM 2012 R2

I quiet often receive the question how to enable Remote Desktop (RDP) access on a server during a task sequence in SCCM 2012 or 2012 R2. Because by default RDP is not enabled, it could be realy handy to enable RDP access to control your server remotely. There’re a whole bunch of tools to manage your server(s) remotely, but still RDP could be ncessary.

1.) Create a new package with the source location to your script directory.
2.) Create a new package with a program and use the following command:
Powershell.exe -ExecutionPolicy Unrestricted -NoProfile -File Enable-RDP.ps1
3.) The PowerShell script ‘Enable-RDP.ps1’ contains the following code. See in this post below.
4.) Insert the script in your task sequence

##
## Enable RDP
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -Value 0
##
## Enable Firewall Rule
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
##
## Enable RDP Authentication
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 0

2015-11-27_09h03_02    2015-11-27_09h03_21    2015-11-27_09h34_03

WIM image has deployed to wrong partition using SCCM 2012

When you’re deploying an WIM image using System Center Configuration Manager 2012, by default the installation is done on the D:\ partition of your system. Huh….D:\ partition?? But my task sequence say C:\?? Yes indead!! During the task sequence you’ll see “applying image 1 to C:\”, but after rebooting the system, there is no C:\ drive!! Only a D:\ drive!!

To fix this problem, you’ll need to add a new task within the task sequence.

1.) Open the System Center Configuration Manager 2012 Console
2.) Navigate to the task sequence and click Edit
3.) After the partition task, add a new task named Set Task Sequence Variable
4.) The name of the Task Sequence Variable is: Disable Disk Drive Letter (this can be anything you want!)
5.) The Task Sequence Variable will be: OSDPreserveDriveLetter
6.) The value will be: False
7.) Just PXE boot the machine again and watch te result!

Deploy_01    Deploy_02    Deploy_03

Deploy_04    Deploy_05    Deploy_06

Deploy_07   Deploy_01    Deploy_02

Deploy_03    Deploy_08

Error “Cannot edit the object, which is in use by Site P01” in SCCM 2012

Today I want to edit an task sequence within SCCM 2012 and I received the following error message: “Cannot edit the object, which is in use by site P01”. Mmmm….that’s strange!! I’m the only Sysadmin with an ConfigMgr 2012 Management Console. To unlock this object, I’ve used an query within SQL.

1.) Open the SQL Management Console and navigate to the ConfigMgr database
2.) Open a new query
3.) To view all the locked objects, type the following query:
select * from SEDO_LockState
Execute the query and watch te results
4.) We see one object that is locked
5.) Note the ID of this specific object
6.) To unlock this object, type the following query:
delete from SEDO_LockState where ID=’ID of the object’
Execute the query and watch the results
7.) Now the object is succesfully unlocked and you’re able to edit the task sequence

Locked_01    Locked_02    Locked_03

Locked_04    Locked_05    Locked_06

Locked_07

How to: Create multiple boundaries in ConfigMgr 2012 within a few seconds

When you’re installing and configuring a new ConfigMgr 2012 environment, one of the steps is to configure the right boundaries for your environment. Sometimes there’re only a few boundaries you have to create, but what if there’re several boundaries to configure. Are you gonna click that much….Let’s create some Powershell command to do the job for us.

1.) First of all we are going to import the ConfigMgr 2012 Powershell module. Use the x86 Windows PowerShell, bacause x64 is not supported!!
Import-Module “C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1”
4.) Make a connection to your Primary Site server
Set-Connection P01
3.) Now we are going to create some new boundaries. In this example a whole IP subnet (172.16.10.0 and 172.16.11.0)
New-CMBoundary -Name “Client VLAN1” -Type IPsubnet -Value “172.16.10.0”
New-CMBoundary -Name “Client VLAN2” -Type IPsubnet -Value
“172.16.11.0”
5.) Create a new boundary group. In my example “Main Building”
New-CMBoundaryGroup -Name “Main Building”
6.) The next step is to add the boundaries to the right boundary group
Add-CMBoundaryToGroup -BoundaryName “Client VLAN1” -BoundaryGroupName “Main Building”
Add-CMBoundaryToGroup -BoundaryName “Client VLAN2” -BoundaryGroupName “Main
Building”

Now the job is done. How easy and fast was that…

CMB_01    CMB_02    CMB_03

CMB_04    CMB_05    CMB_06

CMB_07    CMB_08    CMB_09

CMB_10    CMB_11    CMB_12

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: 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