PowerSploit/docs/ScriptModification/Remove-Comment.md

111 lines
2.5 KiB
Markdown
Executable File

# Remove-Comment
## SYNOPSIS
Strips comments and extra whitespace from a script.
PowerSploit Function: Remove-Comment
Author: Matthew Graeber (@mattifestation)
License: BSD 3-Clause
Required Dependencies: None
Optional Dependencies: None
## SYNTAX
### FilePath (Default)
```
Remove-Comment [-Path] <String>
```
### ScriptBlock
```
Remove-Comment [-ScriptBlock] <ScriptBlock>
```
## DESCRIPTION
Remove-Comment strips out comments and unnecessary whitespace from a script.
This is best used in conjunction with Out-EncodedCommand when the size of the script to be encoded might be too big.
A major portion of this code was taken from the Lee Holmes' Show-ColorizedContent script.
You rock, Lee!
## EXAMPLES
### -------------------------- EXAMPLE 1 --------------------------
```
$Stripped = Remove-Comment -Path .\ScriptWithComments.ps1
```
### -------------------------- EXAMPLE 2 --------------------------
```
Remove-Comment -ScriptBlock {
```
### This is my awesome script.
My documentation is beyond reproach!
Write-Host 'Hello, World!' ### Write 'Hello, World' to the host
### End script awesomeness
}
Write-Host 'Hello, World!'
### -------------------------- EXAMPLE 3 --------------------------
```
Remove-Comment -Path Inject-Shellcode.ps1 | Out-EncodedCommand
```
Description
-----------
Removes extraneous whitespace and comments from Inject-Shellcode (which is notoriously large) and pipes the output to Out-EncodedCommand.
## PARAMETERS
### -Path
Specifies the path to your script.
```yaml
Type: String
Parameter Sets: FilePath
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ScriptBlock
Specifies a scriptblock containing your script.
```yaml
Type: ScriptBlock
Parameter Sets: ScriptBlock
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
```
## INPUTS
### System.String, System.Management.Automation.ScriptBlock
Accepts either a string containing the path to a script or a scriptblock.
## OUTPUTS
### System.Management.Automation.ScriptBlock
Remove-Comment returns a scriptblock. Call the ToString method to convert a scriptblock to a string, if desired.
## NOTES
## RELATED LINKS
[http://www.exploit-monday.com
http://www.leeholmes.com/blog/2007/11/07/syntax-highlighting-in-powershell/]()