Windows 10 Inject Start Menu Layout Offline – MDT SCCM OSD Powershell

In this blog I will show you how to inject your Windows 10 start menu offline so that on first boot its already configured in your reference image or even your deployment task sequence whether that be MDT of ConfigMgr (SCCM).

GITHUB: Action-OSD_InjectStartMenu_Offline.ps1

Note: If you have links for icons pinned on  the taskbar and the software is not already installed it ill not break and they will show as the applications are installed 😉

Important: Make sure you have added the PowerShell component to your boot image. Click a link to find out how: MDT or SCCM

MDT Setup

  • First download the script and save it into you deployment share “Scripts” folder:

    • Your welcome to also download the DefaultStart.xml and or just rename your default start menu XML to “DefaultStart.xml” and add it also to the deployment share “Scripts” folder.

  • Then open up your chosen Task Sequence in MDT and just before the “Inject Drivers” step under the “Post Install Group” and a new “Run Commmand Line Step”.
  • Name it for example:  Inject Start Menu Offline
    Then use the following command line:

Example:

Windows-10-Inject-Start-menu-offline
Windows-10-Inject-Start-menu-offline

SCCM Setup

  • For SCCM you must be using the MDT integration (if you’re not… Start now!), you can make it work without it but I will not cover that here.
  • Find your current MDT Toolkit Package that is associated with the Task Sequence you would like to configure power settings in.
  • Open the “Source” location of your toolkit package, then open the scripts folder.

  • Once inside the scripts folder copy the “Action-OSD_InjectStartMenu_Offline.ps1” into it.  And then your welcome to also download the DefaultStart.xml or just rename your default start menu XML to “DefaultStart.xml” and add it also to the ToolKit Package “Scripts” foldera also.
  • Now, update the Package in ConfigMgr.
  • Next we need to add the step to the task sequence. It must go after a “Use Toolkit Package” step and before your Driver injection step in the task sequence. (If you have a reboot remember to add another use “Toolkit package”.)

Create a new “Run Command Line Step” and the below command.

And that is it. Your ConfigMgr or MDT Task sequence is now setup to inject the default start menu before the machine boots!

Anyway as always, script is provided as is and if you do mod it, there is a line to add your name.

Windows 10 Configure User Experience Offline – MDT SCCM OSD -VBScript

So currently I am working on an Government Education site comprising of just under 40 schools. There was a requirement to remove/hide Microsoft’s Edge browser from the image being rolled out to the users. The reasoning behind this is down to a monitoring tool used by the education department that does not support Edge and therefor policies would be broken…

Anyway I hunted around on our favourite resource for a solution that would not break the image entirely by removing one of it core features.

Eventually I found these 4 registry keys that did the trick:

Next was to figure out how to inject these into my reference image before  it was laid onto the VM for automated customisation. So I remembered a great script by Johan Arwidmark I use all the time for turning off Appx package updates during a reference image capture task  sequence (can break sysprep if allowed).

Anyway after a bit of modification to load the Software registry hive offline instead this is what I came up with. There is also some commented out portions here that may come in handy:

Github: Config-Win10-Offline-UE.wsf

MDT Setup

  • First download the script and save it into you deployment share “Scripts” folder:

  • Then Open up your chosen Task Sequence in MDT and just before the “Inject Drivers” step under the “Post Install Group” and a new “Run Commmand Line Step”.
  • Name it for example:  Configure User Experience
    Then use the following command line:

Example:

Configure-User-Environment-Offline-VBscript-Example
Configure-User-Environment-Offline-VBscript-Example

SCCM Setup

  • For SCCM you must be using the MDT integration (if you’re not… Start now!), you can make it work without it but I will not cover that here.
  • Find your current MDT Toolkit Package that is associated with the Task Sequence you would like to configure power settings in.
  • Open the “Source” location of your toolkit package, then open the scripts folder.

  • Once inside the scripts folder copy the “Config-Win10-Offline-UE.wsf” into it. Now, update the Package in ConfigMgr.
  • Next we need to add the step to the task sequence. It must go after a “Use Toolkit Package” step and before your Driver injection step in the task sequence. (If you have a reboot remember to add another use “Toolkit package”.)

Create a new “Run Command Line Step” and add the below command.

And that is it. Your ConfigMgr or MDT Task sequence is now setup to configure the user environment before the machine boots!

Anyway as always, script is provided as is and if you do mod it, there is a line to add your name.

Get and Set ConfigMgr Machine Variables with WMI and PowerShell Functions

So I’m working on a client site at the moment with a difficult to automate OU structure. Essentially I need to be able to add and get ConfigMgr machine variables easily and without the need of the PowerShell module.

So as we do… I went to google, found a couple of nice hints then though I’d write them into functions to be easily re-used.

The beauty of these functions is they can be run from anywhere in your site or during a task sequence as they use WMI.
This means as long as the account running the script has access to the ConfigMgr site you can play with variables!

Anyway download the most up to date versions of the functions from the SCCMOG GitHub Repo:

Scripts:

PowerShell add DaRT Remote Control to SCCM Boot Image Early V2

Ok so I’m sure like a lot of people out there we all love those scripts that Johan Arwidmark, Mikael Nystrom, Peter Löfgren and all the other MVPs write that make our lives easier!

Any way Johan recently released an awesome PowerShell script to inject DaRT into a ConfigMgr boot image and configure remote control from the MDT Monitoring node using a  launching script written by Alexey Semibratov.
Adding DaRT to ConfigMgr Boot Images – And starting it earlier than early

The beauty of adding this to your boot image is the point at which you are then able to remote control a task sequence, you can literally remote control the machine being built before the DP password has been entered, allowing the ConfigMgr Admin(s) to easily troubleshoot an issue.

I want to make it clear that the original script was created by Johan and without his work I would not have come up with this. What I have done (having a spare Saturday) is tweak it a little to take parameters and configure it all. This means you do not have to open any files to change any information 🙂 I even update the XML for you, install Dart, the works!

Anyway head over to here to download the script: Add-DartToBootImageV2

The steps for configuration are as follows:

  • Create a folder to drop the Add-DartToBooImageV2 files into. E.g “E:\Setup\Scripts\Add-DartToBooImageV2” Note: no spaces please 🙂
Folder structure for Add-DarttobootimageV2
  • Copy all script files downloaded from above and your version of the MSDaRT100.MSI (DaRT 10 x64) installer into that folder as well.
  • Next head over to you MDT deployment share and grab the monitoring service address.
MDT Deployment Share Monitoring Host Address
  • Now head over to ConfigMgr and grab the Name of the boot image you would like to enable DaRT remote control on.
  • Once you have collected that information open a command prompt as Administrator on your site server.
  • Now navigate (cd) to E:\Setup\Scripts\Add-DartToBooImageV2
  • Ensure the drive you choose has enough space to mount the boot image as the script will create and clean up for you.
  • And run the script with the following command line:

Running the script:

Add-DartToBootImageV2.ps1 Running
Add-DartToBootImageV2.ps1 Running 2

Reaping the rewards:

PXE boot with DaRT 10 SCCM MDT

The script:

 

Copyright 2016 SCCMOG | All Rights Reserved