This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Builds a C# console application that prints all arguments (requires Windows PowerShell 5.1) | |
Add-Type -OutputType ConsoleApplication -OutputAssembly ShowArgs.exe -TypeDefinition @' | |
using System; | |
namespace MyApp | |
{ | |
class Program | |
{ | |
static int Main( string[] args ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ErrorActionPreference = 'Stop' | |
# Compile the cmdlet and import it as a module | |
Add-Type -TypeDefinition (Get-Content $PSScriptRoot\PSConsoleCtrlHandler.cs -Raw) -PassThru | Import-Module -Assembly { $_.Assembly } | |
# Add the handler | |
Add-ConsoleCtrlHandler { | |
param( [ConsoleCtrlEvent] $ctrlType ) | |
$logPath = (New-Item $env:temp\_MyPS\console.log -Force).Fullname |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add-Type -TypeDefinition @' | |
using System; | |
using System.IO; | |
using System.Runtime.InteropServices; | |
public class ConsoleHelper { | |
[DllImport("Kernel32")] | |
private static extern bool SetConsoleCtrlHandler(HandlerRoutine handler, bool add); | |
private delegate bool HandlerRoutine(int ctrlType); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<BootstrapperApplication> | |
<bal:WixStandardBootstrapperApplication | |
Theme="rtfLargeLicense" | |
ThemeFile="Theme.xml" | |
LicenseFile="1033\License.rtf" | |
LocalizationFile="1033\thm.wxl" | |
LogoFile="logo.png" | |
ShowVersion="yes" | |
/> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.SYNOPSIS | |
A PowerShell game inspired by the Fallout hacking minigame. | |
.DESCRIPTION | |
This is a PowerShell game inspired by the Fallout hacking minigame. | |
The game is played by guessing the password of a computer terminal. | |
The player has a limited number of attempts to guess the password. | |
After each guess, the game will display the number of correct letters. | |
The player can use this information to narrow down the list of possible passwords. | |
The game has multiple difficulty levels. The higher the level, the longer the passwords to guess become. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Windows PowerShell (5.1) script | |
# Watch top-level window creation and log window name, process ID and process name. | |
Add-Type -ReferencedAssemblies UIAutomationClient, UIAutomationTypes -TypeDef @' | |
using System; | |
using System.Windows.Automation; | |
public class WindowWatcher | |
{ | |
public static void Watch() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.SYNOPSIS | |
Sets chapters to a video file using a timestamp file. | |
.DESCRIPTION | |
This function sets chapters to a video file using a timestamp file. The output file will have the same format and codec as the input file, | |
but with the chapters metadata added. | |
.PARAMETER Path | |
The path of the input video file. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.SYNOPSIS | |
Split an audio or video file into multiple audio files based on a time stamp file. | |
.DESCRIPTION | |
This script uses FFmpeg to extract parts of an audio or video file into separate audio files based on the time stamps in the time stamp file. | |
The function also supports creating a playlist (m3u8) for the extracted audio tracks. | |
.PARAMETER Path | |
The path to the input audio or video file. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# PowerShell demo to self-elevate a script | |
# - Makes sure parameters are properly forwarded to the elevated script (preserving argument types and spaces in string arguments). | |
# - Passes the current directory to elevated script. | |
param( | |
[string] $Foo, | |
[int] $Bar | |
) | |
# Self-elevate the script if required | |
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.SYNOPSIS | |
List registry string values that unexpectedly contain embedded null characters. | |
.DESCRIPTION | |
Enumerates the given registry key recursively, outputting information about all registry string values (REG_SZ and REG_EXPAND_SZ) | |
that unexpectedly contain embedded null characters. | |
.PARAMETER Hive | |
The registry hive. |
NewerOlder