When creating SCCM boot.wim what modifies the winpeshl.ini file?


  • I need to add a command to run before tsbootshell.exe in the winpeshl.ini. Other than cracking the boot wim and manually modifiying winpeshl.ini how can it get Configmgr to do this automaticlly? The post for putting it in the unattend does not work for me because tsbootshell.exe has already run at that point so the only place i can make this modification is in winpeshl.ini.



    Friday, December 3, 2010 6:10 PM


All replies

  • You can't. If you create a boot image using integrated MDT, the wizard will allow you to add some customization though:
    Jason | | | Twitter @JasonSandys
    Friday, December 3, 2010 7:47 PM
  • That solution is no good the CustomHook only runs after tsbootshell.exe has been started.

    Friday, December 3, 2010 8:06 PM
  • Then your only option to crack the WIM manually.
    Jason | | | Twitter @JasonSandys
    Friday, December 3, 2010 8:39 PM
  • I'm curious, what is it that requires you to run things before tsbootshell?

    / Johan

    Monday, December 6, 2010 7:19 AM
  • I am in a similar situation and wanted to add a sleep.exe command to winpeshl.ini as mentioned in this thread: The exact steps I used are listed there.


    I discovered that you can create a customized winpeshl.ini file in this location and it will be automatically be integrated into the final boot image when you use SCCM to update or create new boot images. I think you're trying to do exactly what I was trying to do and this should do the trick.


    [Program Files]\Microsoft Configuration Manager\OSD\bin\i386\winpeshl.ini


    Thursday, February 10, 2011 7:38 PM
  • There is no facility in SCCM that would do that for you. You have to do it yourself (open the WIM and edit the shell settings).
    Friday, February 11, 2011 12:33 AM
  • Thanks for this Todd.

    Was having the same issue with SCCM 2012 and the latest WinPE.

    This allows us run a VB script and display a message box with the IP address of the computer.

    The script Disables the firewall and installs UltraVNC so that we can remotely connect to the computer and run/monitor the task sequence.

    Friday, May 1, 2015 5:40 PM
  • Thank you for the hint!

    For x64 Boot Images you have to save the customized winpeshl.ini at [Program Files]\Microsoft Configuration Manager\OSD\bin\x64\winpeshl.ini

    Only with winpeshl.ini you can start scripts after startup from WinPE and you cannto change the winpeshl.ini directly in WinPE boot.wim, because if you add to SCCM Server with Boot Image Wizards, it will be overwritten by SCCM! So you have to store the customized file in the link above!

    David Strutzenberger

    Thursday, December 7, 2017 12:18 PM
  • ...this actually works :-) Thanks Todd!! I've been struggling to find a solution for a while now.
    Tuesday, June 5, 2018 1:32 AM