SYNOPSIS
Packages, bundles and\or obfuscates scripts.
SYNTAX
Copy 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
Copy PS C:\> Merge-Script -Script .\MyScript.ps1 -Output .\ -Package
Packages MyScript.ps1 into MyScript.exe and then outputs it to .\
Example 2
Copy 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
Copy 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
Copy 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.
Copy 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.
Copy 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.
Copy 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.
Copy 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.
Copy 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.
Copy 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.
Copy Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
None
OUTPUTS
System.Object
NOTES