Some PowerShell scipts that can be hopefully also useful to others. Most of them were written by me, if not I tried to reference the author and or source. Since I collected those scripts over several years, I couldn't always remember though.
| Function | Location | Synopsis | Related Blog Post | Full Documentation |
|---|---|---|---|---|
| Diff-CSV | Binary wrapper\Diff-CSV.ps1 | PowerShell wrapper for diff-table.exe a tool to diff csv files | Link | |
| Diff-Excel | Binary wrapper\Diff-Excel.ps1 | PowerShell wrapper for ExcelConmpare a tool to diff excel files | Link | |
| Get-ESSearchResult | Binary wrapper\Get-ESSearchResult.ps1 | PowerShell wrapper around Everything search command line (es.exe). | Link | Link |
| SilverSearcher | Binary wrapper\SilverSearcher.ps1 | PowerShell wrapper around silver searcher (ag.exe) Recursively search for PATTERN in PATH. Like grep or ack, but faster. | Link | |
| Add-LookupColumn | Data Wrangling\Add-LookupColumn.ps1 | Funciton to use Excel's vlookup through PowerShell. Requires Excel to be installed. | Link | |
| Convert-CsvToXls | Data Wrangling\Convert-CsvToXls.ps1 | Convert a .csv file to xlsx (despite the name) | Link | |
| ConvertFrom-NamedCaptureGroup | Data Wrangling\ConvertFrom-NamedCaptureGroup.ps1 | Convert the output of a RegEx named capture group to a PSObject | Link | |
| Get-ChangeLog | Data Wrangling\Get-ChangeLog.ps1 | Comparing two objects or .csv files column by column. | Link | Link |
| Get-CSVDelimiter | Data Wrangling\Get-CSVDelimiter.ps1 | Autodetects delimiter used in CSV files and number of rows | Link | |
| Get-LineNumber | Data Wrangling\Get-LineNumber.ps1 | Retrieve specific Linenumber(s) from afile. | Link | |
| Get-TextWithin | Data Wrangling\Get-TextWithin.ps1 | Get the text between two (balanced) surrounding characters (e.g. brackets, quotes...) | Link | |
| grep | Data Wrangling\grep.ps1 | Filter output based on keyword, but still retain PowerShell object format. Hence it can be even used in the middle of a pipeline (see example): | Link | |
| Group-ConsecutiveRanges | Data Wrangling\Group-ConsecutiveRanges.ps1 | Given an integer array with numbers, return groups of consecutive ranges. | Link | |
| Import-Excel | Data Wrangling\Import-Excel.ps1 | Import data from Excel using Excel's COM interface. | Link | |
| Join-CSV | Data Wrangling\Join-CSV.ps1 | Function to join two .csv files based on a common column. Based on a PowerShellMagazine article from Chrissy LeMaire (see link). | Link | |
| Join-Linq | Data Wrangling\Join-Linq.ps1 | Performs an inner join of two object arrays based on a common column. | Link | |
| Query-Csv | Data Wrangling\Query-Csv.ps1 | Function to retrieve data from a .csv file based on sql query. Based on a PowerShellMagazine article from Chrissy LeMaire (see link). | Link | |
| Sort-CustomList | Data Wrangling\Sort-CustomList.ps1 | Sort data using a custom list in PowerShell. | Link | Link |
| Update-Content | Data Wrangling\Update-Content.ps1 | Insert text on a new line after the line matching the StartPattern or replace text between start- and end Pattern within a file | Link | |
| Compare-File | Extend Builtin\Compare-File.ps1 | A wrapper and extension for the built-in Compare-Object cmdlet to compare two txt based files and receive a side-by-side comparison (including Line numbes). | Link | |
| Get-Choice | Extend Builtin\Get-Choice.ps1 | An alternative to the built-in PromptForChoice providing a consistent UI across different hosts. | Link | Link |
| Get-HelpExamples | Extend Builtin\Get-HelpExamples.ps1 | Get examples for a Cmdlet. | Link | |
| Get-HelpSyntax | Extend Builtin\Get-HelpSyntax.ps1 | Get the syntax for a cmdlet pretty printed + explanation | Link | |
| Get-Range | Extend Builtin\Get-Range.ps1 | Function to retrieve a continuous or stepwise Range of integers,decimals,dates,month names, day names or chars. Simulating Haskell`s Range operator | Link | Link |
| Join-Tables | Extend Builtin\Join-Tables.ps1 | Function to join tables based on one or more common columns with an option to summarize (aggregate) joined columns. | Link | |
| Select-ObjectX | Extend Builtin\Simplified-Select.ps1 | Proxy function for Select-Object providing easier syntax for calculated properties. | Link | Link |
| WhereEx | Extend Builtin\WhereEx.ps1 | POC for a simplified Where-Object with multiple conditions on the same property for PowerShell. | Link | Link |
| Add-FormatTableView | format output\Add-FormatTableView.ps1 | Function to add a Format Table View for a type | Link | Link |
| Add-PropertySet | format output\Add-PropertySet.ps1 | Function to create property sets | Link | Link |
| ConvertTo-HtmlConditionalFormat | format output\ConvertTo-HtmlConditionalFormat.ps1 | Function to convert PowerShell objects into an HTML table with the option to format individual table cells based on property values using CSS selectors. | Link | |
| Format-Error | format output\Format-Error.ps1 | Format $error[x] output. | Link | |
| Format-Pattern | format output\Format-Pattern.ps1 | Highlight a pattern in the output. Cannot be used in the middle of a pipeline. And works only on the commandline. | Link | |
| Get-FormatView | format output\Get-FormatView.ps1 | Function to get the format views for a particular type. | Link | Link |
| Out-ConditionalColor | format output\Out-ConditionalColor.ps1 | Filter to conditionally format PowerShell output within the PowerShell console. | Link | |
| Out-ConditionalColorProperties | format output\Out-ConditionalColorProperties.ps1 | Filter to conditionally format property values within PowerShell output on the console. | Link | |
| Out-Diff | format output\Out-Diff.ps1 | Generate html diff from git diff output using diff2html. | Link | |
| Get-ACEData | ACE\ACE.psm1 | Checkout the whole modules as it exports several more functions. Queries Excel and Access files. | Link | |
| Clear-Clipboard | Clear-Clipboard\Clear-Clipboard.psm1 | Identify the process that currently blocks the clipboard (Using GetOpenClipboardWindow and GetWindowThreadProcessId API calls) Opens a small GUI offering options to either stop or restart the process | Link | Link |
| Get-LegacyHelp | Get-LegacyHelp\Get-LegacyHelp.psm1 | Display help for windows commandline commands | Link | |
| Start-Logging | Logging\Logging.psm1 | Module to provide a logging functionality for scripts originally written by Oisin Grehan see link. | Link | |
| 8Queens | programming exercises\8 Queens.ps1 | PowerShell solution for a classical programming exercise. | Link | |
| Confirm-Brackets | programming exercises\Confirm-Brackets.ps1 | Function to check and display (through indentation) pairing of braces, brackets, and parentheses '{[()]} | Link | |
| GenerateSolveMaze | programming exercises\GenerateSolveMaze.ps1 | Function to generate a GUI (Windows forms) to build and solve random mazes | Link | |
| Get-CartesianProduct | programming exercises\Get-CartesianProduct.ps1 | Get the cartesian product for an object that contains array properties. See example. | Link | |
| TowerOfHanoi | programming exercises\TowerOfHanoi.ps1 | PowerShell solution to the Tower of Hanoi problem (http://en.wikipedia.org/wiki/Tower_of_Hanoi) using recursion. | Link | |
| Add-PowerShellContextMenu | Utils\Add-PowerShellContextMenu.ps1 | Function to create context menu entries in order to invoke PowerShell | Link | Link |
| Add-ScriptHelpISEAddOn | Utils\Add-ScriptHelpISEAddOn.ps1 | Function to create an ISE Add-On that will generate comment based help for functions. The functions requires the Show-UI module. | Link | Link |
| ConvertFrom-ExcelClipboard | Utils\ConvertFrom-ExcelClipboard.ps1 | Convert copied range from excel to an array of PSObjects | Link | Link |
| ConvertFrom-HtmlToText | Utils\ConvertFrom-HtmlToText.ps1 | Extract the text out of a HTML string | Link | |
| ConvertTo-PSFunction | Utils\ConvertTo-PSFunction.ps1 | Function to "convert" legacy command line commands to PowerShell functions | Link | |
| Delete-ComputerRestorePoint | Utils\Delete-ComputerRestorePoint.ps1 | Function to Delete Windows System Restore points | Link | |
| ForeachFor2 | Utils\ForeachFor2.ps1 | Function to step through two series of values in two collections and run commands against them. | Link | |
| Get-Breaktimer | Utils\Get-Breaktimer.ps1 | Function to display a break timer with a countdown based on absolute or relative times. | Link | |
| Get-Field | Utils\Get-Field.ps1 | Gets the public and private fields of objects. | Link | |
| Get-FileAndExtract | Utils\Get-FileAndExtract.ps1 | Function to download and extract files. | Link | |
| Get-FileEncoding | Utils\Get-FileEncoding.ps1 | Get the file encoding of a given file. | Link | |
| Get-FormatStrings | Utils\Get-FormatStrings.ps1 | Show common format strings for a given input and the respective outputs | Link | |
| Get-GoogleSuggestion | Utils\Get-GoogleSuggestion.ps1 | Function to get "Did you mean?" suggestions from Google. | Link | |
| Get-MSDNInfo | Utils\Get-MSDNInfo.ps1 | Opens the MSDN web page of an object member: type, method or property. | Link | |
| Get-OutlookSentItems | Utils\Get-OutlookSentItems.ps1 | Get emails in "Sent Items" | Link | |
| Get-OutputProducingCommand | Utils\Get-OutputProducingCommand.ps1 | Get the line(s) of code that produce an output from a function or script. | Link | |
| Get-ParamInfo | Utils\Get-ParamInfo.ps1 | Retrieve extensive parameter information about a cmdlet | Link | |
| Get-Uninstaller | Utils\Get-Uninstaller.ps1 | Function to get the uninstaller for installed software via registry (PowerShell v4 and <) or Get-Package) | Link | Link |
| Get-WIFIPassword | Utils\Get-WIFIPassword.ps1 | Get the Wifi password of stored networks using netsh. | Link | |
| Invoke-ContextMenuAction | Utils\Invoke-ContextMenuAction.ps1 | List or permforms verb actions on file system objects that show up in the context menu. | Link | |
| Invoke-HTMLPesterReport | Utils\Invoke-HTMLPesterReport.ps1 | Generate HTML report for Pester test results using ReportUnit.exe | Link | Link |
| Invoke-LegacyCommand | Utils\Invoke-LegacyCommand.ps1 | Helper to invoke legacy command with switches from PowerShell in a convenient way. Also supports pipeline input to invoke the command with arguments multiple times. | Link | |
| Invoke-Parallel | Utils\Invoke-Parallel.ps1 | Execute a scriptblock in parallel using runspaces taking pipeline input. | Link | |
| Invoke-Parser | Utils\Invoke-Parser.ps1 | Uses PowerShell's parser and returns the AST, Tokens and Errors | Link | |
| Migrate-ScheduledTask | Utils\Migrate-ScheduledTask.ps1 | Script to migrate scheduled tasks from Windows XP/Server 2003 to Windows 7/Server 2008 task scheduler | Link | |
| Monitor-Folder | Utils\Monitor-Folder.ps1 | Monitors a folder for changes using non-persistent asynchronous events | Link | |
| New-PSObject | Utils\New-PSObject.ps1 | Helper function to create PSCustomObjects based on array of names and array of properties. | Link | |
| Open-Registry | Utils\Open-Registry.ps1 | Open the regedit at the specified path similar to sysinternals regjump. | Link | |
| Restart-Process | Utils\Restart-Process.ps1 | Function to restart process(es) | Link | Link |
| Set-IPAddress | Utils\Set-IPAddress.ps1 | Set a network interfacres IPv4 address (hard coded 24bit mask) either dynamic or static including DNS settings. | Link | |
| Start-ProcessUnelevated | Utils\Start-ProcessUnelevated.ps1 | Function to start a process unelevated from an elevated command prompt | Link | |
| Generate-ScriptMarkdownHelp | PowerShellScripts\Generate-ScriptMarkdownHelp.ps1 | The function that generated the Markdown help in this repository. (see Example for usage). Generates markdown help for Github for each function containing comment based help (Description not empty) within a folder recursively and a summary table for the main README.md | Link | |
| Get-FunctionFromScript | PowerShellScripts\Generate-ScriptMarkdownHelp.ps1 | Gets the functions and filters declared within a script block or a file | Link |