SCCM USB Stick not booting

If you’re having issues with an SCCM USB stick not booting, that perhaps used to, then it most likely needs some manual input to help it go through.

When you build a USB stick in SCCM, you have the option to Format the USB stick and make it bootable but even after that, it still doesn’t work. Note that the BIOS does recognise it as a bootable media and shows in the bootable devices so that makes you think even more that there’s a different problem.

The solution for the SCCM USB Stick not booting is pretty simple, follow this step and you should be good (these had to be followed already prior SCCM 2012).

  1. Connect the USB stick to a Windows Vista+ device.
  2. Run a command prompt as administrator.
  3. Type DISKPART and press enter.
    1. The command prompt will now take a few instants to go start diskpart
  4. Type LIST DISK and press enter.
    1. This will return the list of disks attached to the machine. Note the Disk Number. In this example we’ll assume the USB disk is DISK 1.
  5. Type SELECT DISK 1 and press enter.
  6. Type CLEAN and press enter.
    1. This command will wipe everything off the USB stick. Make sure you selected the right disk :) .
  7. Type CREATE PARTITION PRIMARY and press enter.
    1. If you receive an error here, then you most likely need to grab a new USB stick.
  8. Type SELECT PARTITION 1 and press enter.
  9. Type FORMAT FS=FAT32 QUICK and press enter.
  10. Type  ACTIVE and press enter.
  11. Type ASSIGN and press enter.
    1. This will assign an available letter to the drive.
  12. Type EXIT and press enter to leave diskpart and repeat this step to exit the command prompt.


Read More

Remove all failed packages from the Distribution Point

Removing a package from a Distribution Point through the console is pretty easy, you would just go in the package properties and under content location you can select the Distribution Point and Remove the package from it. What if you want to start clean and remove all failed packages from the Distribution Point?

The answer to that is: you can’t through the SCCM Console, unless you have just a few or unless you’d like to spend a few weeks cleaning that mess up :)

I put together a quick powershell script that will remove all failed packages from the distribution point/points. The script will firstly gather all packages in a Failed Distribution state, and then it’ll go through each one of them and delete it from the DP that shows it as failed.


Read More

Lync 2013 silent install

Performing a Lync 2013 silent install isn’t as easy as it was with Lync 2010, especially if the application you’re trying to install was downloaded¬†from the Volume License website.
I’m not sure if the issue I had trying to perform a Lync 2013 silent install applies to all version of Lync 2013. The problem I had was that after I created a customised MSP file (keep reading to see how to do that) and started the installation silently, Lync was not there! I could see it in Add/Remove Programs, but I couldn’t see it anywhere else. Not even when I searched in Start: this problem occurred on both Windows 7 and 8.1. Note that I’ve only tried with the 32bit version (also SP1) as that’s the one I need to deploy (also to machines running Windows x64).

After searching for a while I finally got to a download page on the Microsoft website:

Basically this file contains updated Office Customization Tool (OPAX/OPAL) files for Microsoft Office 2013.
Once you have downloaded the file, run it (it’s a self extractor .exe file) and choose the location where to extract the files.
Navigate to the location where you extracted those files and copy the admin folder in the root of the Lync 2013 installation folder and overwrite all existing files and folders.

Microsoft Office Customization Tool admin folder

Once you’ve done that, you’re good to re-create the MSP file for a customised Lync 2013 silent install. If you already have the old MSP file you created earlier with the original Lync 2013 installation, you must import it and save it back again.

If you’re here just to see how to create a Lync 2013 silent install MSP file, this is the moment :) .
Let’s suppose the content of the Lync 2013 installation is in C:\temp\Lync 2013\x86.

Run the following command (you can also do it in “Run”):

This will open up the tool that will allow us to customise the installation. You’ll be prompt to select the version of the application you want to customise and then you’ll be good to start using the Microsoft Office Customization Tool.


What I generally modify is the Organization name under Install location and organization name.


This is the most important part which will allow Lync to be installed silently. Firstly choose whether you’re going to use a KMS server or just type the product key in. Secondly, you want to accept the terms and conditions and finally select None as Display Level (or just make sure the Suppress modal is selected).



Read More

Get a list of services that depend on the specified service

In this post, I’m going to avoid PowerShell for a simple reason: I’ve got to fix SCCM client issues and to do that, I will need to run a script on each one of these clients. As the number of client is in the hundreads, imagine trying to run a script that is compatible with many PS versions (and this is not the difficult part), when PowerShell is installed! I’m sure the support guys will have to run through a few XP machines :( .
Another issue wiht PS is that I would need to change the execution policy on each client. No thanks, for now at least.
If you didn’t hear enough excuses, here’s another one: yep I could run PS remotely using WMI but guess what? I need to work on stopping WMI and the services that depend on it.

I opted for a simple command line that will get a list of services that depend on the specified service:

For instance, let’s try to run this against WMI (Windows Management Instrumentation – winmgmt):

This is the result against one of my machines.

sc enumdepend winmgmt output

Now, I am a big fan of AutoIt, so I’ll be using it to capture the output from this command and have it to get a list of services that depend on the specified service, which in my case will be winmgmt. AutoIt gives me less troubles as in the end it’ll all be compiled in a single executable file. In the script below I kept a higher number of variables so that if you’re interested, you can just modify the script and start using the variable you like the most (for instance $temp_array in the script could be avoided). Normally I would have saved a couple of lines from it.

I tried to comment as much as I could to make it as simple as possible. As you can see, you can now use the content from the array names $services and for instance, run through them all in a for cycle and stop all of these services.

I personally added this to another script that will basically will try to fix the issues with the SCCM clients in the environemt. I’ll probably write an article that’ll describe the steps to do that. Obviously in my case I removed any output (MsgBox) and wrote a log instead as I will need to have the Desktops team to run this remotely and silently.

Read More