Wissen/C06_AufbauAusführbareDatei.ps1
# ? TITEL Aufbau von ausführbaren Dateien # ? DESCRIPTION Musteraufbau von .PS1- und .PSM1-Dateien # ? TAGS PS1 PSM1 TEMPLATE # ? VERSION 2019.09.20.0800 # ! 1. Als Übersicht der zu evtl. installierenden Module using Module Microsoft.PowerShell.Management # Identisch wie: Import-Module -Name Microsoft.PowerShell.Management using Module Microsoft.PowerShell.Utility # ! 2. using-Anweisung MÜSSEN immer zu erst kommen using namespace System.Windows.Forms # Verkürzung von System.Windows.Forms.Form auf Form using namespace System.Management.Automation # Verkürzung von System.Management.Automation.ActionPreference auf ActionPreference # ! 3. Beim ersten Fehler im Script-Ablauf soll das Skript abbrechen (Default => Continue) $ErrorActionPreference = [ActionPreference]::Stop # ! 4. Benötigte .NET Assembly laden (Nötig wenn es Fehler gibt bzgl. '....-Typ nicht gefunden') Add-Type -AssemblyName System.Windows.Forms # ! [5. Script-Übergabe-Parameter definieren] param ([string]$Path, [int]$BenutzerId) # ? MeinScript.ps1 -Path c:\temp -BenutzerId 47110815 # ! [6.] Vor der ersten Verwendung von Variablen # ! Stellt sich das Variablen vor der Benutzung deklariert werden müssen, z.B. durch Zuweisung. Set-StrictMode -Version Latest # ! [7.] Vor der ersten Verwendung von Functions die Function-Definitionen erstellen/laden. function Invoke-Irgendwas { param ([string]$Stadtname) $Stadtname } # ! 8. Logik-Code des Script-Datei: $prozesse = Get-Process foreach($p in $prozesse) { $prozessname = $p.Name if($prozessname -eq "notepad") { $p.Kill() } } $fenster = New-Object -TypeName Form # ? siehe using-Anweisung oben $fenster.ShowDialog() Invoke-Irgendwas -Stadtname Köln # ! [9. Digitale Signatur] |