====== Powershell Examples ====== * code snippets * [[https://gist.github.com/9to5IT/dbc91fea726c113fad6c|Basic Template (w/ logging)]] * [[https://learn.microsoft.com/en-us/powershell/scripting/developer/help/examples-of-comment-based-help?view=powershell-7.2|Comment-based Help]] ====== Common Script Structure ====== ==== Basic script with parameters ==== param( [Parameter(Mandatory=$true)] [String]$src = "alpha", [Parameter(Mandatory=$true)] [String]$dest = "beta", [Parameter(Mandatory=$false)] [switch]$recurse ) function main { Write-Host $recurse Write-Host $src Write-Host $dest } main === Alt Format === param( [Parameter(Mandatory=$true)] [string] $src = "alpha", [Parameter(Mandatory=$true)] [string] $dest = "beta", [Parameter(Mandatory=$false)] [switch] $recurse ) function main { Write-Host $recurse Write-Host $src Write-Host $dest } main ====== Loop Over Files ====== === Example of looping over files and doing something with them === param( [Parameter(Mandatory=$true)] [String]$dir ) foreach ($file in Get-ChildItem -File $dir) { jq -s -f .\filter.jq $dir\$file }