Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En una nueva implementación de Windows, Windows PowerShell 5.1 no incluye a los componentes de NuGet necesarios para interactuar con la Galería de PowerShell. PowerShellGet incluye lógica para actualizar estos componentes siempre que pueda conectarse a la Galería de PowerShell. Si la máquina no está conectada a Internet, debe copiar los archivos necesarios de un origen de confianza en la máquina desconectada.
El proveedor NuGet actualizado es necesario por los comandos para funcionar con la Galería PowerShell. Los Publish-* comandos se usan nuget.exe para publicar recursos.
Instala la última versión de PowerShellGet en un equipo conectado a internet
Para instalar la última versión de PowerShellGet, ejecuta el siguiente comando:
Install-Module -Name PowerShellGet -Repository PSGallery
Responde al mensaje con Y para instalar el proveedor NuGet.
NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet
-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageMan
agement\ProviderAssemblies' or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAs
semblies'. You can also install the NuGet provider by running 'Install-PackageProvider -N
ame NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and imp
ort the NuGet provider now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
VERBOSE: Installing NuGet provider.
Cuando respondes Y, PowerShellGet instala el proveedor NuGet y la nuget.exe herramienta de línea de comandos (si es necesario).
Nota:
Cuando instalas PowerShellGet, se instala automáticamente la última versión de PackageManagement.
Copia los archivos requeridos al ordenador aislado
Tras instalar las actualizaciones en la máquina conectada a internet, copia manualmente los componentes al nodo aislado mediante un proceso offline de confianza.
Copie los módulos PowerShellGet y PackageManagement en la máquina sin conexión. Utiliza el siguiente comando para localizar los módulos en la máquina fuente:
Get-Module PowerShellGet, PackageManagement -ListAvailable | Sort-Object Version -Descending | Select-Object Path -First 2El resultado debería parecerse al siguiente resultado:
Path ---- C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2.5\PowerShellGet.psd1 C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.4.8.1\PackageManagement.psd1Copia todas las carpetas del módulo en la misma ubicación en la máquina aislada. Por ejemplo, si los módulos están ubicados en
PowerShellGet\2.2.5yPackageManagement\1.4.8.1las carpetas tienen los mismos nombres de carpeta bajo$env:PROGRAMFILES\WindowsPowerShell\Modulesen la máquina objetivo.Nota:
Necesitas privilegios administrativos para copiar archivos a
$env:PROGRAMFILES.Copia
nuget.exea la máquina aislada. PowerShellGet se instalanuget.exeen la siguiente ubicación:$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exeSi el archivo no está presente en esa ubicación, o bien se instala en otro sitio o PowerShellGet ha encontrado la CLI .NET (
dotnet.exe). Puedes descargar la última versión denuget.exe.https://aka.ms/psget-nugetexeCopia
nuget.exeen$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exeel ordenador objetivo.
Desbloquear los archivos copiados
Cuando copias archivos desde otro ordenador, Windows puede bloquear los archivos. Para desbloquear los archivos copiados, ejecuta los siguientes comandos en la máquina destino:
$getChildItemSplat = @{
Path = @(
"$env:PROGRAMFILES\WindowsPowerShell\Modules\PowerShellGet"
"$env:PROGRAMFILES\WindowsPowerShell\Modules\PackageManagement"
"$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\nuget.exe"
)
Recurse = $true
}
Get-ChildItem @getChildItemSplat | Unblock-File
PowerShell Gallery