Partager via


Installer PowerShell sur Windows IoT et Nano Server

Cet article explique comment installer PowerShell sur Windows IoT et Nano Server.

Déployer sur Windows 11 IoT

Windows 11 IoT Enterprise est fourni avec Windows PowerShell, qui est utilisé pour déployer 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 .

Quand vous configurez la communication à distance PowerShell, vous recevez un message d’erreur et êtes déconnecté de l’appareil. PowerShell doit redémarrer WinRM. Vous pouvez à présent vous connecter au point de terminaison PowerShell 7 sur l’appareil


# 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 ajoute Windows PowerShell lorsque vous incluez IOT_POWERSHELL fonctionnalité. Utilisez Windows PowerShell pour déployer PowerShell 7 en suivant les mêmes étapes que Windows 11 IoT Enterprise.

Pour ajouter la dernière version de PowerShell dans l’image d’expédition, utilisez la commande Import-PSCoreRelease pour inclure le package dans le workarea et ajouter la fonctionnalité OPENSRC_POWERSHELL à votre image.

Note

Pour l’architecture ARM64, Windows PowerShell n’est pas ajouté lorsque vous incluez IOT_POWERSHELL. L’installation à partir d’un fichier zip ne fonctionne donc pas. Vous devez utiliser la commande Import-PSCoreRelease pour l’ajouter dans l’image.

Déploiement sur Nano Server

Ces instructions partent du principe que Nano Server est un système d’exploitation sans périphériques de contrôle (« headless ») qui a une version PowerShell déjà en cours d’exécution. Pour plus d’informations, consultez la documentation Nano Server Image Builder.

Il existe deux façons différentes de déployer des binaires PowerShell.

  1. Hors connexion : montez le disque dur virtuel Nano Server et décompressez le contenu du fichier zip à l’emplacement que vous avez choisi dans l’image montée.
  2. En ligne : transférez le fichier zip sur une session PowerShell et décompressez-le à l’emplacement que vous avez choisi.

Dans les deux cas, vous avez besoin du package ZIP de la version de Windows x64. Exécutez les commandes dans une instance « Administrateur » de PowerShell.

Déploiement hors connexion de PowerShell

  1. Utilisez votre utilitaire zip favori pour décompresser le package dans un répertoire au sein de l’image Nano Server montée.
  2. Démontez l’image et démarrez-la.
  3. Connectez-vous à l’instance intégrée de Windows PowerShell.

Déploiement en ligne de PowerShell

Déployez PowerShell sur Nano Server en procédant comme suit.

# 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'

Versions de Windows prises en charge

Microsoft prend en charge PowerShell jusqu’à ce que PowerShell atteigne la fin du support ou que la version de Windows atteigne la fin du support.

Les images Docker du Kit de développement logiciel (SDK) .NET contiennent les dernières versions de PowerShell. Ces images sont disponibles à partir du Registre Microsoft Artifact.

Ces images peuvent ne pas inclure les dernières mises à jour de sécurité. Microsoft recommande de mettre à jour les packages du système d'exploitation vers la dernière version afin de garantir l'application des dernières mises à jour de sécurité.

Ces images sont fournies à des fins de test. Si vous avez besoin d’une image Docker pour une charge de travail de production, vous devez créer et gérer vos propres images.

Note

La prise en charge d’une version spécifique de Windows est déterminée par les politiques globales de support de Microsoft. Pour plus d’informations, consultez :

Vous pouvez consulter la version que vous utilisez en exécutant winver.exe.

Prise en charge de l’installation

Microsoft prend en charge les méthodes d’installation mentionnées dans ce document. D’autres méthodes tierces d’installation peuvent être disponibles à partir d’autres sources. Même s’il est possible que ces outils et méthodes fonctionnent, Microsoft ne peut pas prendre en charge ces méthodes.

Note

Les commandes d’installation de cet article concernent la dernière version stable de PowerShell. Pour installer une autre version de PowerShell, ajustez la commande pour qu’elle corresponde à la version dont vous avez besoin. Les liens suivants vous dirigent vers la dernière page de publication pour chaque version sur GitHub.

Les liens de téléchargement pour chaque package se trouvent dans la section Ressources de la page Mise en production. La section Ressources peut être réduite. Vous devrez peut-être cliquer pour la développer.