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.
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
- 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
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.
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 |
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.
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.
If you like my work, becoming a GitHub Sponsor is the best way to support me.