2016-05-27 11 views
5

Ich habe eine Maschine (v3, Internet, kein Admin-Zugang), die ich WMF 5.0 herunterladen und einen anderen Rechner eingerichtet habe (v5, kein Internet, Admin-Zugriff). Jetzt möchte ich einige Module von PowerShellGet auf dem Rechner mit v5, aber ohne Internetverbindung verwenden.PowerShell v5 - Wie installiere ich Module auf einem Computer ohne Internetverbindung?

Ich brauche eine Option zum Download * .psm1 Datei, die ich dann kopieren und verwenden kann. Genau wie wir haben Optionen zum Download von GitHub.

Jeder mit einem ähnlichen Problem und alle Problemumgehungen?

Antwort

6

Installieren Sie das Package Management Module auf Ihrem Powershell 3 Maschine, und verwenden Sie dann Save-Module ...

Oder richten Sie ProGet irgendwo "auf der Kante" Ihres Netzwerks, und haben Sie die Module von der öffentlichen PowerShellGallery Spiegel für Ihre nur internen Clients spiegeln.

dass Failing, nur Ihre eigenen Download-URL erstellen:

https://www.powershellgallery.com/api/v2/package/$Name/$Version 

Sie können sogar ein OData Proxy-Modul erzeugen, oder einfach nur benutzen aufrufen-restmethod suchen:

Sie also jetzt
function Find-Module { 
    param($Name) 
    invoke-restmethod "https://www.powershellgallery.com/api/v2/Packages?`$filter=Id eq '$name' and IsLatestVersion" | 
    select-Object @{n='Name';ex={$_.title.'#text'}}, 
        @{n='Version';ex={$_.properties.version}}, 
        @{n='Uri';ex={$_.Content.src}} 
} 
function Save-Module { 
    param(
     [Parameter(ValueFromPipelineByPropertyName=$true,Mandatory=$true)] 
     $Name, 
     [Parameter(ValueFromPipelineByPropertyName=$true,Mandatory=$true)]$Uri, 
     [Parameter(ValueFromPipelineByPropertyName=$true)]$Version="", 
     [string]$Path = $pwd 
    ) 
    $Path = (Join-Path $Path "$Name.$Version.nupkg") 
    Invoke-WebRequest $Uri -OutFile $Path 
    Get-Item $Path 
} 

können tun Sie einfach das selbe wie mit dem offiziellen Modul:

Find-Module Pester | Save-Module -Path ~\Downloads 
+0

Danke. https://www.powershellgallery.com/api/v2/package/$Name/$Version war der Schlüssel. – zerocool18

0

Aktualisieren Sie Ihren Computer mit Internetzugang auf PowerShell 5.0, und verwenden Sie Save-Module, um Module von PowerShellGet zu speichern. Ex:

Find-Module psreadline | Save-Module -Path c:\users\frode\Desktop 

Dadurch wird das Modul speichern (. Ex PSReadLine) in einen Ordner, die Sie auf Ihre anderen Rechner kopieren und installieren können wie ein normales Modul (siehe Installing a PowerShell Module)

+0

Kann Maschine mit Internet-Zugang zu v5 nicht aktualisieren, sonst hätte tr Ied dies nur. Daher die Frage. – zerocool18

+0

Frage hat nie gesagt, dass du es nicht kannst, nur dass du es noch nicht getan hast. Warum kannst du es nicht aktualisieren? Holen Sie sich jemand anderen dazu oder installieren Sie das powershellget-Modul für ps3.0 (https://www.microsoft.com/en-us/download/details.aspx?id=51451). Wenn Sie keinen der Vorschläge machen dürfen, dann scheint es, dass Sie wahrscheinlich keine Module von Drittanbietern installieren dürfen. –

+0

Ich kann 3rd-Party-Sachen auf einer Maschine installieren, aber das ist nicht mit inernet verbunden. Aber, kann keine Änderungen vornehmen/oder jemanden bitten, Änderungen an der Maschine vorzunehmen, die mit dem Internet verbunden ist. Irgendeine Idee wo ich .psm1 Dateien direkt bekommen kann? – zerocool18

Verwandte Themen