Tuesday, 30 April 2013

SCCM 2012 SP1 Remote Distribution Point installation Failure with Server 2012 on VMware 5.x or 4.x

Had a strange issue that took a long while to get fixed.

I was given a Windows Server 2012 vm running on ESXi 5.1 that had a C:\ for the OS and a D:\ (220GB) for holding distributed data from the primary SCCM server. So for all intended purposes, this was a standard remote distribution point.

I tried to install the DP role onto the new server and it failed every time, tried to access the D:\ remotely from the primary and access was denied, tried setting every permission known to man and it still failed.

The D:\ appeared as removable devices instead of your conventional hard drive.

So to resolve this and get the role installed from your CAS/Primary server complete the following.
  1. Connect to the ESXi/ESX host or vCenter Server using the vSphere Client.
  2. Power off the virtual machine.
  3. Right-click the virtual machine and click Edit Settings.
  4. Click the Options tab.
  5. Click General > Configuration Parameters > Add Row.
  6. Insert a new row with the name devices.hotplug and a value of false.
  7. Power on the virtual machine.

To disable HotPlug capability by editing the .vmx file:

  1. Power off the virtual machine.
  2. Access the ESXi/ESX service console using an SSH client.
  3. Open the virtual machine configuration file (.vmx) in a text editor. The default location is:


  4. Add the line:

    devices.hotplug = "false"

    Note: This setting does not interfere with HotPlug CPU/memory.

  5. Save and close the file.
  6. Power on the virtual machine.8
Note: If you are using VMware View, follow one of the above procedures for the parent virtual machine first, then follow these steps:

  1. Create a new snapshot of the parent virtual machine:

    1. In the vSphere Client, right-click the parent virtual machine and click Snapshot > Take Snapshot.
    2. Give the snapshot a name and description.
    3. Click OK.
  2. Recompose the affected pools to this new snapshot:

    1. In the View Manager console, select a pool and open it.
    2. Click View Composer > Recompose, and select the newly created snapshot.
    3. Click Next.
    4. Configure the Schedule and Warnings options.
    5. Click Next.
    6. Review the confirmation information.
    7. Click Finish and verify that the recompose operation successfully completes.
    8. Repeat the recompose procedure for all affected pools.

Tuesday, 16 April 2013

SQL Service Broker (SCCM 2012 SP1)


Had a nightmare installing SCCM 2012 SP1 on a remote SQL 2012 SP1 instance. The default ports were changed around in SQL

The SQL Server Service Broker (SSB) is used to replicate data between database sites. You will need to specify a port that needs to be used by SCCM. So remove the dynamic ports (leave then blank and not at "0") and specify the port at 1433 (only if its changed).

You can view what port the SSB is using by running the following query on the SCCM SQL server.

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints WHERE type_desc = 'SERVICE_BROKER'


Friday, 5 April 2013

WSUS - SCCM 2012 SP1 Communication Ports on Windows Server 2012

I had a question regarding WSUS ports in SCCM 2012 SP1.

These have changes slightly, older versions of WSUS used ports 80 and 443. In Server 2012 the new ports are 8530 for HTTP and 8531 for HTTPS. I did have to change these manually after applying SCCM 2012 SP1, so please check these after an upgrade.

Hope this answers it.

WSUS and SCCM 2012 SP1 - How to ease the pain


I have been asked a few times now if I have seen the recent influx of problems with SCCM 2012 SP1 and WSUS. The error that's mentioned most often is the "Site component manager failed to install this component, because it either can’t find or can’t configure Windows Server Update Services (WSUS). Possible cause, WSUS service is not installed or running" error.

You will also see errors 1016 and 4968 in the "WSUS Control Manager Component" the cause of these errors are due to some missing patches. Please apply the missing patches mentioned below, as without these the errors will keep appearing and you wont be able to add additional Software Update Points.

KB2734608: http://support.microsoft.com/kb/2734608
KB2720211: http://support.microsoft.com/kb/2720211

These patches do work, I installed them on my test lab and they solved the problem.

*Please note that these aren't available if you are on Windows Server 2012

General access denied error when trying to mount ISO's on Hyper-V

Had massive issues trying to mount ISO's from a network share on a Hyper-V cluster a few weeks back and I wanted to take the time to pass on how I managed to solve this pain in backside...

So if you don't set up delegation for the host's you get that lovely "General access denied error" everytime you try and mount a file from a network share, this is what you need to do from Active Directory

From the DC complete the following,
  1. Launch Active Directory Users and Computers
  2. Locate the Hyper-V host and open it (don't forget to search for "Computers" and not users.)
  3. Open the Delegation Tab
  4. Click on the Trust this computer for delegation to the specified services only option
  5. Click the Use any authentication protocol option
  6. Click Add
  7. Click Users or Computer
  8. From the "Add Services" box click Users or Computers and specify the name of the network share that stores the ISO's and click OK
  9. Choose the cifs service and click OK
  10. Click OK
Once that's done, you will have to reboot the Hyper-V host, once its back up you will be able to mount ISO's again from Hyper-V manager.

How to setup and configure SCCM 2012 SP1 UDI OSD with PXE and MDT 2012 (Windows Server 2012)

I took down a previous post regarding this subject as I wasn't 100% happy with it, I got a few mails asking to put it back on, so here it is.
I gave it a facelift and tried to reduce the number of steps.
A couple of points as always.
  • SCCM  2012 SP1 must be installed
  • Windows Server 2012 must be installed
This guide is shaped around a single site installation of SCCM 2012, but can be used on a multi-server hierarchy. It’s assumed that you have SCCM SP1 installed and you now wish to add PXE and MDT 2012 for UDI OSD.
NOTE: You will need SCCM 2012 SP1 to deploy Windows 8 (apologies if I'm teaching you how to suck eggs, it’s just a common mistake)
Login to your Windows Server 2012 instance that is hosting your SCCM 2012 SP1 environment and complete the following.
  1. Open Server Manager (click start and type Server Manager) click "Add roles and features"
  2. Install Windows Deployment Services feature- accept all the defaults
    (NOTE: This must be installed on the SCCM Distribution Point)
  3. Depending on your setup this step is optional. If you are running the DHCP role on the same server that's hosting SCCM, you need to configure an extra few step.
    3.1 From Server Manager open the WDS console.
    3.2 Right click on your Server and select Configure Server - accept the defaults next, next, next etc.
    NOTE: If the WDS service fails to start, you can start it manually from either services.msc or right click the server from the WDS console and select Start Service
  4. If your DHCP serve is located elsewhere you will either need to add the distribution point server into the IPheler list or configure DHCP options for PXE for help in setting this up follow this link: http://blogs.technet.com/b/dominikheinz/archive/2011/03/18/dhcp-amp-pxe-basics.aspx 
  5. Install the Microsoft Deployment Toolkit (MDT) Update 1 from this link: http://www.microsoft.com/en-gb/download/details.aspx?id=25175 - accept the defaults, next next finish.
  6. Launch SCCM, go to Administration, expand Site Configuration and click on Servers and Site System Roles. Under the Site System Roles right click on "Distribution Point" and select properties
  7. Next under the PXE tab, select to "Enable PXE support for clients" and check the appropriate boxes as shown below. Should you wish you set a password for PXE boots, select "Require a password when computers use PXE" and set a password.
    NOTE: you can view the progress of enabling PXE from by looking at the distmgr.log located in C:\Program Files\Microsoft Configuration Manager\Logs
  8. Next, from the Administration workspace, click "Sites" (can be located under Site Configuration) wait for the top ribbon to populate and click Settings, Configure Site Components and select Software Distribution as shown below.
    This is where you will specify the network account to access the files used for software deployment, this account must have elevated permissions to the Distribution Point and clients.
  9. Select the Network Access Account tab and specify the account that access the network locations. If the account you are using has sufficient privileges and this is not a production environment you could leave it as is.
  10. Next click on the Software Library workspace, expand the Operating Systems folder and click on Boot Images. Right click on both Boot Images (x86 & x64) and select Distribute Content click add, select Distribution Point, select the relevant Distribution Point and click next, finish.
  11. Next right click on Operating System Images (located above the Boot Images) and click Add Operating System Image. Navigate to the install.wim of your chosen OS.
    NOTE: I would recommend that you create a share for your OS images and store them in a central location, ensure that account used has access to the file share where the OS images are located. for help on creating a share use this link: http://www.techrepublic.com/blog/networking/how-to-share-a-folder-in-windows-server-2012/6057
  12. Once the .wim file has been imported into SCCM, right click on it and distribute the content as explained in section 9.
  13. From the Start Menu, locate "Configure ConfigMgr Integration" the options should be pre populated with the SCCM site settings as this is taken from WMI. Click Next and Finish.
Well give yourself a pat on the back as the fiddly configuration is now complete. We will now create the User Driver Installation (UDI) task sequence.
  1. From the SCCM console click on the Software Library workspace and expand the Operating Systems folder, click on Task Sequences and choose Create MDT Task Sequence.
  2. Choose to create a Client Task Sequence template and click Next
  3. Give the task sequence a name and a description and click Next
  4. Next is the Details page, do NOT specify to join a domain as we will use MDT to configure this later, under the Windows Settings page specify your Organization Name and License Key (if you have one) and click Next.
  5. Under Capture Settings, leave this as default as we are not going to sysprep this deployment. Ensure that the option "This task sequence will never be used to capture an image" is selected and click Next.
  6. Under the Boot Image settings, click Browse under Specify an existing Boot Image package, and select the relevant boot image to be used as part of your deployment, so if it’s a 32bit OS, select the x86 Boot Image, and if it’s a 64bit OS select the x64 Boot Image and click Next
  7. Under MDT Package, select "Create a new Microsoft Deployment Toolkit Files package" next, navigate to your file share location (that you created under section 10) and create 3 new folders (you can name them however you see fit) and create one folder inside the other so it looks like this for example "\\SharedFolderName\MDT TS (new folder)\Toolkit (new folder) and \\SharedFolderName\MDT TS\Settings (new folder)" so if you open the "MDT TS" folder, you will see 2 folders called "Toolkit" and "Settings". Then copy the file path of the Toolkit folder location and paste this into the Create a new Microsoft Deployment Toolkit Files package file location or Browse to your newly created folder and click Next
  8. Under MDT Details provide a name, version etc ... and click Next
  9. Under OS Image click Browse under Specify an existing OS image and select the OS you imported into SCCM earlier and click OK and then Next
  10. Under Deployment Method select Perform a "User-Driven Installation" and click Next
  11. Under Client Package click Browse under "Specify an existing ConfigMgr client package" and select the "Microsoft Corporation Configuration Manager Client Package". This will install the SCCM agent onto the new machine once its been built using this task sequence. click OK and Next
  12. Under USMT Package click Browse under "Specify an existing USMT package" and select "Microsoft Corporation User State Migration Tool for Windows" click OK and click Next
  13. Under Settings Package select "Create a new settings package" and navigate to your Settings folder you created in section 7. Copy the location of the Settings folder into the "Package source folder to be created" under the Create a new settings package option and click Next.
  14. Under Settings Details, provide a name, version etc and click Next.
  15. Under Sysprep Package select "No sysprep package is required" and click Next.
  16. Review the Summary Page and click Next, Finish. Just await conformation and click Finish.
You will now have a newly created Task Sequence in SCCM and you will also notice the folders that were created earlier will be populated with all sorts of goodies. We will now use the UDI wizard to customize our task sequence.
  1. Navigate to the toolkit folder you created in section 7 and go to the "Scripts" directory file location should look like this \\SharedFolderName\MDT TS\Toolkit\Scripts and copy the location of the scripts folder.
  2. Next click Start, and launch the UDI Wizard Designer application (you can also type the words UDI Wizard Designer) if it doesn't appear in the start menu
  3. Once the UDI Wizard Designer is launched click Open on the top ribbon and paste the scripts location you copied in step 1 into the address bar and locate the a file called UDIWizard_Config and click Open. This will now open the MDT task sequence we created earlier.
  4. Expand the StageGroup: New Computer
  5. Take the time to have a look at options that available in the wizard, to edit a section of the deployment, just double click it and change the settings within. You can also stipulate to manually join the domain at this screen. You can also remove steps that aren't relevant to you deployment.
  6. Also, from the top Ribbon click on "Configuration Manager" and enter your site server name and click Validate Site, the site code will them be populated and click OK
  7. Once you have changed the settings and you have a UDI task sequence you are happy with click the "Preview" option to view what it will look like if was deployed.
  8. Once you are happy click the Save As button and save your changes.
Now that you have a custom UDI task sequence you will need to deploy the packages we created earlier and present the task sequence to your machines via PXE.
  1. Launch SCCM and go to the Software Library workspace, and expand Application Management and click on Packages.
  2. Select the 3 MDT packages you created earlier, (Settings, Toolkit and USMT) and click Distribute Content, click Add, select Distribution Point and select your distribution and click Next, Next and Close
  3. Next, you will need to deploy your task sequence from the Software Library, expand Operating System and click on Task Sequence, select your task sequence and click Deploy.
  4. The Deploy Software Wizard will now launch, under Collection click Browse and select All Unknown Computers (this will present the task sequence to all new machines that are PXE booted) and click Next
  5. Under Deployment Settings leave the "Purpose" as Available and under "Make available to the following" select Configuration Manager clients, media and PXE and click Next.
  6. Under Scheduling make sure you specify when the task sequence is available
  7. Under User Experience leave the defaults and click Next
  8. Under Alerts you can specify to suppress alerts, but this is only relevant if you have a SCOM server and click Next
  9. Under Distribution Points set the Deployment options as "Download content locally when needed by running task sequence" and click Next
  10. Review the Summary and click Next and Close
And we are DONE! You can now test a machine via a PXE boot and you should see the following if the PXE boot is a success.
I hope you have found this useful, please let me know if I have missed anything or if you need any help.