Jump to content


Established Members
  • Posts

  • Joined

  • Last visited

  • Days Won


jHetzer last won the day on May 18 2018

jHetzer had the most liked content!

Recent Profile Visitors

1,539 profile views

jHetzer's Achievements


Newbie (1/14)



  1. I would recommend following: Make BIOS Settings / Enable TPM Format Disk Pre-Provision Bitlocker Apply Operating System Enable Bitlocker Encryption with WinPE Bitlocker Pre-Provisioning is instant. https://docs.microsoft.com/en-us/sccm/osd/deploy-use/preprovision-bitlocker-in-windows-pe
  2. You could validate following solution: https://everythingsccm.com/2017/12/08/windows-10-upgrade-gui-for-configmgrsccm/
  3. Some shots into the blue according to the logs: No boot image is assigned to the Task Sequence (https://technet.microsoft.com/en-us/library/bb633210.aspx?f=255&MSPPError=-2147217396 Section: Use Boot Image) Disk is not formatted (Legacy / UEFI Layout) Disk driver missing/required To check if the disk driver is missing/required in WinPE try following: Enable Command Prompt: https://blog.thesysadmins.co.uk/sccm-2012-sp1-enable-command-support-console-winpe.html PXE Boot Press F8 to open a command prompt before selecting a task sequence Enter "diskpart", "list disk" and "list volume" If you have outputs the disk is recognized/accessible from WinPE
  4. Check out following link Active Directory: How to Export Group Policy Settings using PowerShell Import-Module ActiveDirectory Import-Module GroupPolicy $dc = Get-ADDomainController -Discover -Service PrimaryDC Get-GPOReport -All -Domain enterprise.com -Server $dc -ReportType HTML -Path C:\Temp\GPOReportsAll.html Make sure you have the required modules installed.
  5. Check out following link How can I copy files from a package If this does not fit your requirements could you provide more info/logs/errors.
  6. OSD Run Command Line: One Liners Please find attached a set of usefull SCCM OSD Task Sequence "Run Command Line" One-Liners Show Task Sequence Name in SCCM Status Messages: cmd.exe /C "echo %_SMSTSPackageName%" Format Disk 0 for Staging (Remove Bitlocker before downloading first Package) cmd.exe /c "(echo select disk 0&& echo.clean&& echo.list disk&& echo.list volume) > .\diskpart.txt && diskpart.exe /s .\diskpart.txt" Adjust OSDDiskIndex (Max two disks) (Useful if a device has two disk and either one can/should be the C drive. Work in combination with the step "Format and Partition Disk" and overwrites the "Disk Number" value) cmd.exe /V /C "(set /a osdID=1-%OSDDiskIndex% > null&& tsenv.exe "OSDDiskIndex=!osdID!")" Set Drive Offline/Online by variable (see: Bitlocker Pre-Provision multi Disk) cmd.exe /c "(echo select disk %OSDDiskIndex%&& echo.offline disk&& echo.list disk) > .\diskpart.txt && diskpart.exe /s .\diskpart.txt" cmd.exe /c "(echo select disk %OSDDiskIndex%&& echo.online disk&& echo.list disk) > .\diskpart.txt && diskpart.exe /s .\diskpart.txt" Fix Drive Letter of mounted devices (Best used in combination with conditions) cmd.exe /V /C "FOR /F %V IN ('mountvol.exe D: /L') DO (mountvol.exe D: /D & mountvol.exe F: %V)" (Checks if devices has one disk and device with drive letter D is an USB Drive --> Map USB from D to F Drive Letter) (Checks if devices has one disk and device with drive letter D is an CDRomDrive --> Map CDRom from D to E Drive Letter) Forcefully halt the task sequence (The file does not exist and therefor generates an error, best/only to use with conditions) Enables Task Sequence Powershell special return codes StopTaskSequenceWithError.exe The step before is a "Run PowerShell Script" step and may return "SomeRandomPs1ReturnCode". But the step does not support defining return codes. To overcome this issue change the powershell script or set "Continue on Error" and create this step afterwards. If you like this collection and have some other useful commands by your own please share them in a "reply to this Topic"
  7. OSD Run Command Line: WMI to TS Variable (Tested with WinPE 1703 and Windows 10 1703 / SCCM 2012 Version 1706 / MDT ) A short guide how to store WMI information into a Task Sequence Variable without the need of a script. (And therefore without a "Update Distribution Point") Create a new "Run Command Line" Step Set the step name for example: "Set Task Sequence Variable OSD_VariableName" Command Line: powershell -Command "& {(New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('OSD_VariableName') = (Get-WmiObject Win32_ComputerSystemProduct).Version}" Done The example shows how to store the property "Version" of the WMI Class "Win32_ComputerSystemProduct" into the Variable "OSD_VariableName". This is for example usefully for Lenovo devices because the property holds the real model name (Lenovo Model Names) and not the cryptic ID which may change. Other examples would be: Device Disk Count: powershell -Command "& {(New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('OSD_DiskCount') = @(Get-WmiObject -query 'Select * from Win32_DiskDrive WHERE MediaType = \"Fixed hard disk media\"').Count}" Device TPM Chip Available: powershell -Command "& {(New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('OSD_TPMChipAvailable') = [boolean](Get-WmiObject -Namespace 'ROOT\cimv2\Security\MicrosoftTpm' -query 'SELECT * FROM Win32_Tpm')}" Event more complicated commands are possible but at some point a script provides more flexibility. Important Note: "Run Command Line" step in conjunction with "powershell -Command "& {Crazy-PowershellFunction}" has problems with double quotes ("). If they are required they need to be escaped with "\". See for example: Device Disk Count: Other special characters my produce similar issues. If you like this quick and simple solution and found some other useful commands please share them in a reply to this Topic
  8. Create a Package with the cab file Create a run Command Line Step Select the created Package Set as Command line: DISM.EXE /online /add-package /packagepath:.\relative\Path\to\dotNetFile.cab Example: (In this case the cab file is at the root directory of the package)
  9. Hey, had the same issue/ error when trying to enable Bitlocker on a dual disk device. It seems that when pre-provisioning is set for two or multiple disks, Bitlocker recognizes that and tries to check something which does not exist. Following workaround did the trick in my scenario (Two disks): Enable Pre-provision on D Drive Enable Pre-provision on C/Os Drive Apply Image Apply Driver Package (Run Command Line) cmd /c "(echo select disk 1&& echo.offline disk) > .\diskpart.txt && diskpart.exe /s .\diskpart.txt && del .\diskpart.txt" Enable Bitlocker on C (Run Command Line) cmd /c "(echo select disk 1&& echo.online disk) > .\diskpart.txt && diskpart.exe /s .\diskpart.txt && del .\diskpart.txt " Enable Bitlocker on D If you don't like the encapsulated cmd command create a new package with diskpart scripts. For example: offlineDDrive.txt: select disk 0 offline disk (Run Command Line) diskpart.exe /s offlineDDrive.txt onlineDDrive.txt: select disk 0 online disk (Run Command Line) diskpart.exe /s onlineDDrive.txt
  • Create New...