Install Eulanda Module Release
Zuletzt geändert: 24.08.2026 05:07

Übersicht

Install-EulandaModuleRelease #

ÜBERSICHT #

Installiert ein veröffentlichtes Modulpaket additiv in eine Modulwurzel.

SYNTAX #

Install-EulandaModuleRelease [-Name] <string> [-Root] <string> [[-Version] <string>] [[-BaseUrl]
    <string>] [[-ZipPath] <string>] [-RequireSignature] [-Force] [[-TimeoutSec] <int>] [[-Headers]
    <hashtable>] [<CommonParameters>]

BESCHREIBUNG #

Holt <Modulname>.zip von files.eulanda.eu (oder nimmt ein lokales ZIP), prüft das Paket und legt es als neuen Versionsordner <Root>\<Modul>\<Version> ab. Vorhandene Versionsordner bleiben unberührt: ein laufender Server hält seine Fassung im Speicher, und die neue wird erst beim nächsten Start geladen. Aufräumen ist Sache von Remove-EulandaModuleVersion, nach dem Neustart, nicht davor.

Geprüft wird, bevor etwas in die Wurzel geschrieben wird:

  • Das Paket trägt <Modul>.psd1 an der ZIP-Wurzel (Konvention der Builder; ein ZIP mit Unterordner ist ein Fehler, kein Sonderfall).
  • Die ModuleVersion im Manifest entspricht -Version, wenn angegeben.
  • Die Authenticode-Signatur von psd1 und psm1. Mit -RequireSignature wird ein unsigniertes oder ungültig signiertes Paket abgelehnt; ohne den Schalter wird der Status nur gemeldet.
  • Der Modulordner ist keine Entwickler-Verknüpfung (Junction auf ein Quell-Repo). Dort wird nie installiert.

Anders als Install-ModuleFromZip wird die Wurzel ausdrücklich übergeben: der Selbst-Update installiert dorthin, wo das laufende Modul herkommt (Program Files auf einem Server, Benutzerpfad auf einem Arbeitsplatz), nicht in einen festen Benutzerpfad.

Die Funktion wirft nicht. Jedes Ergebnis, auch ein Fehlschlag, kommt als Objekt mit Installed und Error zurück, damit ein Lauf über viele Module je Modul bilanzieren kann.

PARAMETER #

-Name #

Type: string

Modulname in der Schreibweise des Manifests.

-Root #

Type: string

Modulwurzel, in die installiert wird.

-Version #

Type: string
Default: ''

Erwartete Version. Weicht das Paket ab, wird nicht installiert. Leer = nehmen, was das Paket trägt.

-BaseUrl #

Type: string
Default: 'https://files.eulanda.eu'

Wurzel der Auslieferung. Vorgabe https://files.eulanda.eu.

-ZipPath #

Type: string
Default: ''

Lokales Paket statt Download (Tests, Offline-Einspielung, Rücknahme aus einer Sicherung).

-RequireSignature #

Type: switch

Unsignierte oder ungültig signierte Pakete ablehnen.

-Force #

Type: switch

Einen bereits vorhandenen gleichnamigen Versionsordner ersetzen. Ohne den Schalter gilt eine vorhandene Version als installiert.

-TimeoutSec #

Type: int
Default: 300

Zeitlimit für den Download in Sekunden. Vorgabe 300.

-Headers #

Type: hashtable

Zusätzliche HTTP-Kopfzeilen für den Download.

AUSGABEN #

pscustomobject

Name, Version, Path, Installed, Replaced, SignatureStatus, Signer, Error.

BEISPIELE #

Install-EulandaModuleRelease -Name EulandaXrest -Version 0.5.55 -Root "$env:ProgramFiles\WindowsPowerShell\Modules"
Install-EulandaModuleRelease -Name EulandaXclient -Root (Get-UserPs5ModulePath) -ZipPath C:\Temp\EulandaXclient.zip -RequireSignature