mirror of
https://github.com/kforney/pentest-distro-builder.git
synced 2024-11-28 19:25:25 -07:00
53 lines
1.8 KiB
PowerShell
53 lines
1.8 KiB
PowerShell
# Instructions: select the entire file and hit F8 to
|
|
# load the extensions. To see the list of registered
|
|
# extensions and run them, hit Ctrl+Shift+P, type 'addi'
|
|
# and run the "Show additional commands from PowerShell modules"
|
|
# command. A quick pick list will appear with all 3
|
|
# extensions registered. Selecting one of them will launch it.
|
|
|
|
function Invoke-MyCommand {
|
|
Write-Output "My command's function was executed!"
|
|
}
|
|
|
|
# Registering a command for an existing function
|
|
|
|
Register-EditorCommand -Verbose `
|
|
-Name "MyModule.MyCommandWithFunction" `
|
|
-DisplayName "My command with function" `
|
|
-Function Invoke-MyCommand
|
|
|
|
# Registering a command to run a ScriptBlock
|
|
|
|
Register-EditorCommand -Verbose `
|
|
-Name "MyModule.MyCommandWithScriptBlock" `
|
|
-DisplayName "My command with script block" `
|
|
-ScriptBlock { Write-Output "My command's script block was executed!" }
|
|
|
|
# A real command example:
|
|
|
|
function Invoke-MyEdit([Microsoft.PowerShell.EditorServices.Extensions.EditorContext]$context) {
|
|
|
|
# Insert text at pre-defined position
|
|
|
|
$context.CurrentFile.InsertText(
|
|
"`r`n# I was inserted by PowerShell code!`r`nGet-Process -Name chrome`r`n",
|
|
35, 1);
|
|
|
|
# TRY THIS ALSO, comment out the above 4 lines and uncomment the below
|
|
|
|
# # Insert text at cursor position
|
|
|
|
# $context.CurrentFile.InsertText(
|
|
# "Get-Process -Name chrome",
|
|
# $context.CursorPosition);
|
|
}
|
|
|
|
# After registering this command, you only need to re-evaluate the
|
|
# Invoke-MyEdit command when you've made changes to its code. The
|
|
# registration of the command persists.
|
|
|
|
Register-EditorCommand -Verbose `
|
|
-Name "MyModule.MyEditCommand" `
|
|
-DisplayName "Apply my edit!" `
|
|
-Function Invoke-MyEdit `
|
|
-SuppressOutput
|