Merge-Script
SYNOPSIS
Packages, bundles and\or obfuscates scripts.
SYNTAX
Merge-Script -Script <String> [-OutputPath <String>] [-Bundle] [-Package] [-Obfuscate]
Merge-Script -Config <Hashtable>
Merge-Script -ConfigFile <String>
DESCRIPTION
Packages, bundles and\or obfuscates scripts. Packaging and bundling are not mutually exclusive. Obfuscation
requires packaging.
EXAMPLES
Example 1
PS C:\> Merge-Script -Script .\MyScript.ps1 -Output .\ -Package
Packages MyScript.ps1 into MyScript.exe and then outputs it to .\
Example 2
PS C:\> Merge-Script -Script .\MyScript.ps1 -Output .\Bundle -Bundle
Bundles MyScript.ps1 and any scripts it dot sources into a single file and outputs it to .\Bundle.
Example 3
PS C:\> Merge-Script -Script .\MyScript.ps1 -Output .\Bundle -Bundle -Package
Bundles MyScript.ps1 and any scripts it dot sources into a single file and then packages it into MyScript.exe and outputs it to .\Bundle.
Example 4
PS C:\> Merge-Script -Script .\MyScript.ps1 -Output .\Bundle -Bundle -Package -Obfuscate
Bundles MyScript.ps1 and any scripts it dot sources into a single file and then packages it into MyScript.exe and outputs it to .\Bundle. The resulting executable will be obfuscated.
PARAMETERS
-Bundle
Bundles the script with dot sourced scripts found in the script.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Config
Config hashtable. More information found on about_MergeScriptConfig.
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ConfigFile
Config file. More information found on about_MergeScriptConfig.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Obfuscate
Obfuscate the .NET executable and PowerShell script.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-OutputPath
The output path for the resulting script or executable.
This should be a directory.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Package
Package the script as a .NET executable.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Script
The script to package in an executable and optionally bundle with other scripts.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False