Invoke Xsetup
Zuletzt geändert: 14.03.2026 05:56

Invoke-XSetup #

ÜBERSICHT #

Installiert oder aktualisiert ein Artefakt (Module oder Script) aus Repo (Web/Folder).

SYNTAX #

Invoke-XSetup [[-MinVersion] <string>] [[-MaxVersion] <string>] [[-AppType] <string>] [-AppName]
    <string> [[-Base] <string>] [[-ArtifactName] <string>] [-Overwrite] [-UpdateNewest]
    [<CommonParameters>]

BESCHREIBUNG #

Module: - ArtifactName standardmässig .zip, installiert nach …\Modules<AppName><Version>
- Die installierte Version wird über Get-LatestModuleVersion am Modulpfad ermittelt (.psm1)

Script: - ArtifactName ist immer .zip - Im ZIP liegt eine Datei .ps1 (keine Unterordner) - Ziel ist …\WindowsPowerShell\Scripts<AppName>.ps1 - installierte Version wird aus dem PSScriptInfo-Header der Zieldatei gelesen

Min/Max steuern die akzeptierte/gesuchte Version. Lokale Quelle ($PSScriptRoot<AppName>) hat Vorrang. Diese muss dann auch die Versions-Unterordner enthalten.

PARAMETER #

-MinVersion #

Type: string

Die minimale Version, die akzeptiert wird (z.B. ‘1.0.3’).

-MaxVersion #

Type: string

Die maximale Version, die akzeptiert wird (z.B. ‘1.0.99’).

-AppType #

Type: string
Default: 'Module'

Kann Module' oder Scriptenthalten. Der Default ist Module`.

-AppName #

Type: string

Der Name des zu installierenden Moduls bzw. Skrips (z.B. ‘EulandaXTools’ bei Modulen oder ‘xrechnung’ bei Skripts). Hierzu gibt es die Aliase ModuleName und ScriptName.

-Base #

Type: string
Default: "https://files.eulanda.eu/apps/$AppName/"

Basis-URL oder lokaler Pfad, von dem Modulversionen abgerufen werden. Der Pfad muss Versionen als Unterordner beinhalten.

-ArtifactName #

Type: string
Default: "$($Appname).zip"

Name der ZIP-Datei des Moduls bzw. Skripts. Standardmäßig “.zip”.

-Overwrite #

Type: switch

Erzwingt die Installation, auch wenn die Zielversion bereits existiert.

-UpdateNewest #

Type: switch

Aktualisiert das Modul, falls lokal eine ältere Version vorhanden ist, auf die neueste verfügbare innerhalb der Versionsgrenzen.

BEISPIELE #

# Installiert das Modul "EulandaXTools" lokal oder remote, mindestens Version 1.0.3 bis maximal 1.0.99.
Invoke-XSetup -MinVersion '1.0.3' -MaxVersion '1.0.99' -AppType Module -ModuleName 'EulandaXTools'
# Installiert das Skript "xrechnung" lokal oder remote, mindestens Version 3.49.1 bis maximal 3.49.99.
Invoke-XSetup -MinVersion '3.49.1' -MaxVersion '3.49.99' -AppType Script -ScriptName 'xrechnung'
# ruft das Script XSetup.ps1 auf und installiert das Modul "EulandaXTools" lokal oder remote, mindestens Version 1.0.3 bis maximal 1.0.99.
powershell.exe -ExecutionPolicy Bypass -File .\XSetup.ps1 -MinVersion 1.0.3 -MaxVersion 1.0.99 -AppType Module -ModuleName 'EulandaXTools'
# Erzwingt die erneute Installation der aktuellen Version des Moduls.
Invoke-XSetup -MinVersion '1.0.3' -MaxVersion '1.0.99' -AppType Module -ModuleName 'EulandaXTools' -Overwrite
# Installiert oder aktualisiert auf die neueste verfügbare Version innerhalb des Bereichs.
Invoke-XSetup -MinVersion '1.0.3' -MaxVersion '1.0.99' -AppType Module -ModuleName 'EulandaXTools' -UpdateNewest
# Installiert en Modul aus einer Kommadozeile heraus, bei dem Invoke-XSetup in einem Script eingebettet ist, das identische Eingangsparameter enthält, sowie die notwendigen Hilfsfunktionen Get-LatestModuleVersion, Get-UserPs5ModulPath und Install-AppFromRepository.
powershell.exe -ExecutionPolicy Bypass -File .\XSetup.ps1 -MinVersion 1.0.3 -MaxVersion 1.0.99 -AppType Module -ModuleName 'EulandaXTools'

HINWEISE #

Die Funktion verwendet semantische Versionierung zur Versionsauswahl und bevorzugt bei Verfügbarkeit lokale Quellen, bevor sie auf Remotequellen zugreift. Standardmäßig erfolgt kein Überschreiben bestehender Installationen.