dotnet tool install --global PowerShell
Le programme d’installation de l’outil dotnet ajoute $HOME\.dotnet\tools
à votre variable d’environnement $env:PATH
.
Toutefois, le $env:PATH
de l’interpréteur de commandes en cours d’exécution n’a pas été mis à jour. Vous pouvez démarrer PowerShell à partir d’un nouvel interpréteur de commandes en tapant pwsh
.
PowerShell peut être installé à partir du Microsoft Store. Vous trouverez la version de PowerShell sur le site web du Microsoft Store ou dans l’application Store de Windows.
Avantages du package Microsoft Store :
Mises à jour automatiques intégrées à Windows
S’intègre à d’autres mécanismes de distribution de logiciels comme Intune et Configuration Manager
Peut être installé sur des systèmes Windows équipés de processeurs x86, x64 ou Arm64
Limitations connues
Par défaut, les packages Windows Store s’exécutent dans un bac à sable d’application qui virtualise l’accès à certains emplacements du système de fichiers et du Registre. Les changements d’emplacements de fichier et de Registre virtualisés ne sont pas conservés en dehors du bac à sable de l’application.
Ce bac à sable bloque toutes les modifications apportées au dossier racine de l’application. Les paramètres de configuration au niveau du système, stockés dans $PSHOME
, ne peuvent pas être modifiés. Cela comprend la configuration WSMAN. Cette stratégie empêche les sessions à distance de se connecter aux installations basées sur le magasin de PowerShell. Les configurations au niveau de l’utilisateur et l’accès à distance SSH sont pris en charge.
Les commandes suivantes ont besoin d’écrire sur $PSHOME
. Ces commandes ne sont pas prises en charge dans une instance Microsoft Store de PowerShell.
Register-PSSessionConfiguration
Update-Help -Scope AllUsers
Enable-ExperimentalFeature -Scope AllUsers
Set-ExecutionPolicy -Scope LocalMachine
Pour plus d’informations, consultez Comprendre la façon dont les applications de bureau empaquetées s’exécutent sur Windows.
Changements pour PowerShell 7.2
À compter de PowerShell 7.2, le package PowerShell est exempté de la virtualisation de fichiers et du Registre. Les changements d’emplacements de fichier et de Registre virtualisés sont désormais conservés en dehors du bac à sable de l’application. Toutefois, les changements apportés au dossier racine de l’application sont toujours bloqués.
Important
Pour que cette exemption fonctionne, vous devez exécuter Windows build 1903 ou ultérieur.
Installation d’une préversion
Les préversions de PowerShell 7 s’installent sur $env:ProgramFiles\PowerShell\7-preview
afin d’être exécutées côte à côte avec d’autres versions de PowerShell. PowerShell 7.4 est la prochaine préversion.
Mise à niveau d’une installation existante
Pour obtenir de meilleurs résultats lors de la mise à niveau, vous devez utiliser la même méthode d’installation que celle utilisée lors de la première installation de PowerShell. Si vous n'êtes pas sûr de la manière dont PowerShell a été installé, vous pouvez vérifier la valeur de la variable $PSHOME
, qui pointe toujours vers le répertoire contenant PowerShell que la session en cours exécute.
Si la valeur est $HOME\.dotnet\tools
, PowerShell a été installé avec l'outil .NET Global.
Si la valeur est $Env:ProgramFiles\PowerShell\7
, PowerShell a été installé en tant que package MSI ou avec Winget sur un ordinateur doté d'un processeur X86 ou x64.
Si la valeur commence par $Env:ProgramFiles\WindowsApps\
, PowerShell a été installé en tant que package Microsoft Store ou avec Winget sur un ordinateur équipé d'un processeur ARM.
Si la valeur est autre, il est probable que PowerShell ait été installé en tant que package ZIP.
Si vous avez installé via le package MSI, ces informations apparaissent également dans le Panneau de configuration Programmes et fonctionnalités.
Pour déterminer si PowerShell peut être mis à niveau avec Winget, exécutez la commande suivante :
winget list --name PowerShell --upgrade-available
Si une mise à niveau est disponible, la sortie indique la dernière version disponible.
Remarque
Lors de la mise à niveau, PowerShell ne passe pas d’une version LTS à une version non LTS. Il effectue uniquement des mises à niveau vers la dernière version de LTS, par exemple, de 7.2.3 à 7.2.24. Pour effectuer la mise à niveau d’une version LTS vers une version stable plus récente ou la prochaine version LTS, vous devez installer la nouvelle version avec le MSI pour cette version.
Quand la version installée n’est pas une version LTS, PowerShell effectue une mise à niveau vers la dernière version stable.
Déploiement sur Windows 10 IoT Entreprise
Windows 10 IoT Entreprise contient Windows PowerShell, que l’on peut utiliser pour déployer PowerShell 7.
# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.6-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.4.6-win-arm64.zip
# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.6-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.4.6
Déploiement sur Windows 10 IoT Core
Windows 10 IoT Core ajoute Windows PowerShell lorsque vous incluez la fonctionnalité IOT_POWERSHELL, que nous pouvons utiliser pour déployer PowerShell 7. Les étapes définies ci-dessus pour Windows 10 IoT Entreprise peuvent également être suivies pour IoT Core.
Pour ajouter la dernière version de PowerShell dans l’image d’expédition, utilisez la commande Import-PSCoreRelease pour inclure le package dans la zone de travail et ajouter la fonctionnalité OPENSRC_POWERSHELL à votre image.
Notes
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.
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.
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
Utilisez votre utilitaire zip favori pour décompresser le package dans un répertoire au sein de l’image Nano Server montée.
Démontez l’image et démarrez-la.
Connectez-vous à l’instance intégrée de Windows PowerShell.
Suivez les instructions pour créer un point de terminaison de communication à distance à l’aide de la « technique d’une autre instance ».
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.4.6-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.4.6-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'
Si vous voulez une communication à distance via WSMan, suivez les instructions pour créer un point de terminaison de communication à distance à l’aide de la « technique d’une autre instance ».
Communication à distance PowerShell
PowerShell prend en charge le protocole de communication à distance PowerShell (PSRP) sur WSMan et SSH. Pour plus d'informations, consultez les pages suivantes :
Communication à distance SSH dans PowerShell
Communication à distance WSMan dans PowerShell
Les conditions préalables suivantes doivent être remplies pour activer la communication à distance PowerShell sur WSMan sur les versions antérieures de Windows.
Installez Windows Management Framework (WMF) 5.1 (le cas échéant). Pour plus d’informations sur WMF, voir Vue d’ensemble de WMF.
Installer le runtime C universel sur les versions de Windows antérieures à Windows 10. Il est disponible par téléchargement direct ou sur Windows Update. Ce package est déjà installé sur les systèmes où tous les correctifs sont installés.
Versions de Windows prises en charge
Microsoft prend en charge PowerShell jusqu’à la fin du support de la version de PowerShell ou la fin du support de la version de Windows.
Les images Docker contenant PowerShell 7.2, PowerShell 7.4 et PowerShell 7.5-preview pour x64 pour Windows Server 2022, Windows Server Core 2022 et Windows Server Nano build 1809 sont disponibles à partir du Registre des artefacts Microsoft
PowerShell 7.2 et plus peut être installé sur Windows 10 build 1607 et plus, Windows 11, Windows Server 2016 et plus, et Windows Server Nano build 1809 et plus
Remarque
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 les pages suivantes :
FAQ sur le cycle de vie des clients Windows
FAQ sur la politique de cycle de vie moderne
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.