nupkg NuGet Paket offline installieren

nupkg NuGet-Paket installieren

Wie installiert man ein nupkg Paket?

Powershell Module lassen sich am einfachsten online installieren. Es gibt aber Situation, in denen ein Server oder ein Client, kein Zugang zum Internet hat. Somit bleibt nur die Möglichkeit, das entsprechende Powershell-Modul, offline zu installieren.

nupkg NuGet-Paket installieren

Die Online-Variante sieht dann wie folgt aus. Man startet die Powershell mit adminstrativen Rechten und setzt zur Installation eines Moduls folgendes Kommando ab.

Install-Module PSPKI

Zur weiteren Nutzung muss das Modul anschließend importiert werden.

Import-Module PSPKI

Diese Kommandos helfen einem das Modul besser zu verstehen:

Get-Command -Module PSPKI
Get-Help Get-CATemplate
Get-Help Get-CATemplate -Examples

nupkg offline installieren

Möchten man ein Powershell-Modul offline installieren, benötigt man das Modul als nupkg Paket. Im Grunde ist es ein .zip ähnliches (gepacktes) File.

nupkg NuGet-Paket installieren

Die Installation könnte wie folgt ablaufen. Gestalten wir das Ganze zuerst mal etwas komplizierter, bevor es einfacher wird.

nupkg NuGet-Paket offline installieren

Nach dem Download entfernt man von der Datei zuerst das Flag (blockiert), und lässt damit die Datei zu weiteren Verarbeitung zu.

Unblock-File -Path “C:\Offline Module\pspki.3.7.2.nupkg”

Datei nach Download blockiert

Danach ändern wir die Extension der Datei von .nupkg in .zip.

Rename-Item -Path “C:\Offline Module\pspki.3.7.2.nupkg” -NewName “C:\Offline Module\pspki.3.7.2.zip”

Rename nupkg to zip

Jetzt erstellen wir unterhalb des Pfades “C:\Program Files\WindowsPowerShell\Modules” zwei weitere Ordner. Die heruntergeladene Datei heißt pspki.3.7.2. Der erste Teil der Datei ist der Name des Moduls und der zweite Teil die Versionsnummer des Moduls.

New-Item -Path ‘C:\Program Files\WindowsPowerShell\Modules\PSPKI\3.7.2’ -ItemType Directory

Danach entpacken wir den Inhalt des .zip Files (Container), und zwar in den Zielordner PSPKI\3.7.2.

Expand-Archive -Path “C:\Offline Module\pspki.3.7.2.zip” -DestinationPath “C:\Program Files\WindowsPowerShell\Modules\PSPKI\3.7.2”

Expand nupkg file

Nach der Extrahierung können die nuget spezifischen (markierten) Dateien gelöscht werden. Diese Dateien werden beim Erstellen des Pakets generiert und werden nicht mehr benötigt.

Extract

Hier einmal eine Zusammenfassung der oben gezeigten Befehle.

nupkg offline installieren

Das Modul wurde erfolgreich installiert und kann nun wie oben gezeigt eingesetzt werden.

Die etwas schöne Variante könnte so aussehen

Zuerst kopieren wir den Ordner PackageManagement von einem (Online) Server oder Client zum (Offline) Server oder Client. Entscheident ist, das der Ordner nuget kopiert wird. Dieser enthält unterhalb der Versionsnummer eine Anwendungserweiterung (dll).

ProviderAssemblies nuget 2.8.5.208

Danach erstellen wir unter C:\ einen neuen Ordner namens “Offline Pakete” und legen dort das .nupkg File ab.

Offline Pakete lokale Repository

Jetzt registrieren wir diesen Ordner als lokale Repository.

Register-PSRepository -Name Local -SourceLocation “C:\Offline Pakete” -InstallationPolicy Trusted

Prüfen, ob der neue Ordner als lokale Repository registriert wurde.

Find-Module -Repository Local

Ok, dann kommen wir jetzt zum Finale und installieren das Offline .nupkg Paket.

Install-Module -Name PSPKI

Hier die Zusammenfassung der Befehle.

Wie installiert man ein nupkg Paket offline

Voila!