====== 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
}