Compartir a través de


Instalación de PowerShell en Windows IoT y Nano Server

En este artículo se describe cómo instalar PowerShell en Windows IoT y Nano Server.

Implementación en Windows 11 IoT

Windows 11 IoT Enterprise incluye Windows PowerShell, que se usa para implementar PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address>'
$zipfile = 'PowerShell-7.5.4-win-arm64.zip'
$downloadfolder = 'U:\Users\Administrator\Downloads'
# The download location is local to the device.
# There should be enough space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location U:\Users\Administrator\Downloads
Expand-Archive .\PowerShell-7.5.4-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.5.4-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

Cuando configure la comunicación remota de PowerShell, recibirá un mensaje de error y se desconectará del dispositivo. PowerShell tiene que reiniciar WinRM. Ahora se puede conectar al punto de conexión de PowerShell 7 en el dispositivo.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.5.4

Windows 11 IoT Core agrega Windows PowerShell al incluir IOT_POWERSHELL característica. Use Windows PowerShell para implementar PowerShell 7 con los mismos pasos que Windows 11 IoT Enterprise.

Para agregar la versión más reciente de PowerShell en la imagen de envío, use el comando Import-PSCoreRelease para incluir el paquete en workarea y agregar la característica OPENSRC_POWERSHELL a la imagen.

Nota:

En el caso de la arquitectura ARM64, Windows PowerShell no se agrega cuando se incluye IOT_POWERSHELL. Por lo tanto, la instalación basada en ZIP no funciona. Tiene que usar el comando Import-PSCoreRelease para agregarlo a la imagen.

Desarrollo en Nano Server

En estas instrucciones se da por supuesto que Nano Server es un sistema operativo "sin periféricos" con una versión de PowerShell que ya se ejecuta en él. Para más información, consulte la documentación del compilador de imágenes de Nano Server.

Los archivos binarios de PowerShell se pueden implementar mediante dos métodos diferentes.

  1. Sin conexión: monte el VHD de Nano Server y descomprima el contenido del archivo ZIP en la ubicación seleccionada de la imagen montada.
  2. En línea: transfiera el archivo ZIP a través de una sesión de PowerShell y descomprímalo en la ubicación seleccionada.

En ambos casos, necesita el paquete de la versión ZIP de Windows x64. Ejecute los comandos en una instancia de "administrador" de PowerShell.

Implementación sin conexión de PowerShell

  1. Use su utilidad ZIP favorita para descomprimir el paquete en un directorio de la imagen montada de Nano Server.
  2. Desmonte la imagen e iníciela.
  3. Conéctese a la instancia integrada de Windows PowerShell.

Implementación con conexión de PowerShell

Implemente PowerShell en Nano Server mediante los pasos siguientes.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.5.4-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile C:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.5.4-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Versiones compatibles de Windows

Microsoft admite PowerShell hasta que PowerShell llegue al final del soporte técnico o la versión de Windows llegue al final del soporte técnico.

Las imágenes de Docker para el SDK de .NET contienen las versiones más recientes de PowerShell. Estas imágenes están disponibles en el Registro de artefactos de Microsoft.

Es posible que estas imágenes no tengan las últimas actualizaciones de seguridad. Microsoft recomienda que actualice los paquetes del sistema operativo a la última versión para garantizar que se aplican las últimas actualizaciones de seguridad.

Estas imágenes se proporcionan con fines de prueba. Si necesita una imagen Docker para una carga de trabajo de producción, debe crear y mantener una propia.

Nota:

La compatibilidad con una versión específica de Windows la determinan las directivas de ciclo de vida de Soporte técnico de Microsoft. Para obtener más información, consulte:

Ejecute winver.exe para comprobar la versión que utiliza.

Soporte de instalación

Microsoft admite los métodos de instalación de este documento, aunque puede haber otros de terceros disponibles desde otros orígenes. Si bien esas herramientas y métodos pueden funcionar, Microsoft no los admite.

Nota:

Los comandos de instalación de este artículo son para la versión estable más reciente de PowerShell. Para instalar una versión diferente de PowerShell, ajuste el comando para que coincida con la versión que necesita. Los vínculos siguientes le dirigen a la página de versión más reciente de cada versión en GitHub.

Los enlaces de descarga de cada paquete se encuentran en la sección Recursos de la página de lanzamiento. Es posible que la sección de activos esté colapsada, por lo que puede que tenga que hacer clic para expandirla.