Skip to content

Latest commit

 

History

History
75 lines (50 loc) · 3.55 KB

File metadata and controls

75 lines (50 loc) · 3.55 KB

SvRooij.ContentPrep.Cmdlet

This is a PowerShell module that contains several cmdlets to create and Decrypt .intunewin packages. Normally you would need the closed source Microsoft Win32-content-prep-tool to create these packages, but with this module you can do it with PowerShell.

Since the process is not documented anywhere not all features are supported yet, but the most important ones are.

Warning

This is not a replacement for the Microsoft tool, it is a re-implementation of the tool based upon public available information. It is not feature complete and it might not work for your use case. If you need a tool that works, use the Microsoft tool. This library is provided as-is, without any warranty or support.

Installation

Note: this is not yet published but will be soon.

You can install the module from the PowerShell Gallery.

Install-Module -Name SvRooij.ContentPrep.Cmdlet

Features

  • Create .intunewin packages
    • Super fast because of asynchronous processing
    • Support for catalog files (what is this, need help?)
    • Support for reading MSI details from MSI installers (is there any cross platform way to do this?)
  • Decrypt .intunewin packages

Creating .intunewin packages

New-IntuneWinPackage -SourcePath "C:\Path\To\Source" -DestinationPath "C:\Path\To\Destination" -SetupFile "setup.exe"

Command: New-IntuneWinPackage

Parameter Description Sample
-SourcePath The path to the source folder C:\Path\To\Source
-DestinationPath The path to the destination folder C:\Path\To\Destination
-SetupFile Setup file inside SourcePath setup.exe
-Verbose Show verbose output
-Debug Show debug output

Important

The -DestinationPath must not be inside the -SourcePath folder.

Decrypting .intunewin packages

Unlock-IntuneWinPackage -SourcePath "C:\Path\To\Source" -DestinationPath "C:\Path\To\Destination"

Command: Unlock-IntuneWinPackage

Parameter Description Sample
-SourcePath The path to the source folder C:\Path\To\Source
-DestinationPath The path to the destination folder C:\Path\To\Destination
-Verbose Show verbose output
-Debug Show debug output

Library

This PowerShell module is just an easy way to use the SvRooij.ContentPrep library. Want to integrate this code in your own project? Check out the library instead.

Async code

This module and the library is build with async code. That means that logging failed because PowerShell forces the output to be synchronous. This is a known issue without a solution in sight.

To overcome this problem this module uses the ThreadAffinitiveSynchronizationContext from OctopusDeploy.Powershell, which is licensed under MIT. If I did something wrong with the license, please let me know.

Support

If you like my work, becoming a GitHub Sponsor is the best way to support me.