Scriptbibliotek/templates/template.ps1

69 lines
1.8 KiB
PowerShell

<#
.SYNOPSIS
Kort, én-setnings beskrivelse av hva scriptet gjør.
.DESCRIPTION
Lengre beskrivelse: hva scriptet løser, hvordan det fungerer, og eventuelle
forutsetninger eller bivirkninger man bør være klar over.
.PARAMETER Eksempelparameter
Beskriv hva parameteren styrer, og gyldige verdier.
.PARAMETER WhatIf
Tørrkjør uten å gjøre endringer (støttes via SupportsShouldProcess).
.EXAMPLE
.\Verb-Noun.ps1 -Eksempelparameter "verdi"
Beskriv hva eksempelet gjør.
.EXAMPLE
.\Verb-Noun.ps1 -Eksempelparameter "verdi" -WhatIf
Viser hva som ville blitt gjort, uten å endre noe.
.NOTES
Forfatter : Fornavn Etternavn (initialer)
Opprettet : ÅÅÅÅ-MM-DD
Versjon : 1.0.0
Plattform : Windows Server 2019/2022 | M365 | NinjaRMM | SentinelOne | Cove
Krav : PowerShell 5.1+ (eller 7+), moduler: <f.eks. Microsoft.Graph>
Rettigheter : <f.eks. lokal admin / Global Reader>
Tags : tag1, tag2, tag3
Endringslogg:
ÅÅÅÅ-MM-DD 1.0.0 Første versjon (initialer)
SIKKERHET: Aldri hemmeligheter i koden. Bruk parametere eller miljøvariabler,
f.eks. $env:API_TOKEN.
#>
#Requires -Version 5.1
# #Requires -Modules Microsoft.Graph # avkommenter ved behov
[CmdletBinding(SupportsShouldProcess = $true)]
param(
[Parameter(Mandatory = $true)]
[string] $Eksempelparameter
)
begin {
$ErrorActionPreference = 'Stop'
Set-StrictMode -Version Latest
Write-Verbose "Starter $($MyInvocation.MyCommand.Name)"
}
process {
try {
if ($PSCmdlet.ShouldProcess($Eksempelparameter, "Beskriv handlingen")) {
# --- Hovedlogikk her ---
Write-Output "Kjører mot: $Eksempelparameter"
}
}
catch {
Write-Error "Feilet: $($_.Exception.Message)"
exit 1
}
}
end {
Write-Verbose "Ferdig."
}