Adam the Automator (Français)

dans PowerShell, il y a un million de façons de faire la même chose (ou de s’en rapprocher). Dans cet article de blog, vous apprendrez tous les moyens de vérifier la version PowerShell que vous avez sur les ordinateurs locaux et distants. Nous couvrirons les mauvaises manières et ma manière recommandée.

Si vous souhaitez passer de PowerShell newbie à PowerShell guru, je vous recommande de dévorer ce mini-cours gratuit sur la construction d’un outil PowerShell. Ceci est un tutoriel étape par étape avec des explications complètes et des conseils D’Adam L’Automateur!,

Il existe des sites Web qui montrent différentes façons de vérifier la version Powershell. Mais aucun qui a compilé une liste complète de tous. J’ai décidé de changer cela.

toutes ces méthodes devraient fonctionner à la fois dans Windows PowerShell et PowerShell Core. Ces méthodes devraient également fonctionner dans les versions Windows PowerShell 1.0 jusqu’à PowerShell 7.,

Les façons dont vous pouvez trouver une version de PowerShell, vous êtes en cours d’exécution sont les suivants:

  1. Le (Get-Host).Version propriété
  2. Le $host.Version propriété
  3. La base de registre (Windows PowerShell uniquement)
  4. Le $PSVersionTable.PSVersion propriété

nous allons briser tous les moyens de trouver la version de PowerShell à partir de moins à plus recommandé.

Table des Matières

Get-Accueil

PowerShell est un concept connu sous le nom des hôtes. Un hôte est un programme qui héberge le moteur PowerShell., Ce n’est pas le moteur PowerShell lui-même.La console PowerShell ou un éditeur de code avec un terminal intégré sont des hôtes PowerShell.

un hôte peut avoir une version complètement indépendante de PowerShell lui-même. Cela peut être trompeur pour de nombreux nouveaux arrivants. Laissez-moi vous montrer pourquoi.

Si vous exécutez(Get-Host).Version, vous verrez qu’il renvoie un numéro de version qui semble être la version du moteur PowerShell. Les regards peuvent être trompeurs.

ci-dessous, j’ai couru Get-Host sur Windows PowerShell 5.1 et vous pouvez voir qu’il revient avec 5.1.17134.858., Cela ressemble à une version légitime.

Cependant, parfois, lorsque vous exécutez Get-Host intégrée dans le terminal, la version n’est pas la même. Bien que généralement l’hôte représente la même version du moteur, il ne le fait pas nécessairement toujours.

Vérifiez la Version Powershell via Get-Host sur les ordinateurs distants

même siGet-Host semble renvoyer la même version lorsqu’elle est exécutée sur un ordinateur local, elle ne le sera jamais sur les ordinateurs distants.,

par exemple, exécutonsGet-Host sur un serveur Windows Server 2016 distant viaInvoke-Command et voyons ce qui se passe.

la dernière fois que j’ai vérifié, il n’est pas possible d’exécuter PowerShell v1 sur Windows Server 2016.

s’appuyer sur Get-Host est juste une mauvaise idée.

Vérifiez la Version Powershell host host.Version command

Le référencement$host.Version est une autre façon de vérifier la version de Powershell. La variable$host est une variable automatique qui renvoie la même sortie queGet-Host.,

Référencement $host.Version

Il n’y a rien de spécial à propos de cette méthode. C’est simplement la même chose que d’exécuter Get-Host.

host hôte.Version sur les ordinateurs distants

vous verrez le même comportement via PowerShell Remoting avec$host.Version que vous exécutezGet-Host.

Danger, will Robinson!

Registry

Si vous ne voulez pas ouvrir PowerShell lui-même, vous pouvez également vérifier le registre., La version de PowerShell est cachée sous une valeur dans le chemin de la clé de registre HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine. Cette clé de Registre a une valeur appelée PowerShellVersion que vous pouvez référencer en utilisant Get-ItemProperty.

Vous pouvez voir que cette version est similaire mais n’inclut pas la révision comme le font les autres options.

utilisation d’autres outils

L’Utilisation du registre signifie également que vous n’avez pas du tout besoin d’utiliser PowerShell pour trouver la version. Vous pouvez exécuter des commandes à partir de l’invite de commande ou d’un autre outil capable de lire le registre.,

Registre sur les ordinateurs distants

le registre est statique et les valeurs ne changent pas localement ou à distance. Vous pouvez être sûr que ce que vous voyez localement sera le même que vous voyez à distance.

Afficher la même version localement et à distance est bon. Mais j’ai une meilleure façon de vous montrer en utilisant la variable automatique $PSVersionTable.

Vérifiez la Version Powershell via PS PSVersionTable.Commande PSVersion

la dernière et dernière méthode fait référence à la propriété PSVersionsur la variable automatique $PSVersionTable., Cette méthode représentera toujours le moteur PowerShell.

la variable automatique$PSVersionTable est une table de hachage en lecture seule qui renvoie des informations spécifiquement sur la version de PowerShell engin. Cette variable automatique renvoie non seulement la version mais aussi PSEdition. Cette propriété peut être Core ou Desktop pour fournir des informations supplémentaires sur L’édition de PowerShell en cours d’exécution.,

$PSVersionTable de sortie

$PSVersionTable sur des Ordinateurs Distants

à l’Aide de la balise $PSVersionTable variable automatique est exacte en local comme à distance. Vous pouvez voir ci-dessous qu’en encapsulant $PSVersionTable.PSVersion dans un scriptblock et en exécutant ce code sur un ordinateur distant, il renverra la même version.

résumé

dans cet article de blog, vous avez appris toutes les façons de vérifier la version de PowerShell localement et à distance., J’espère que les premières méthodes vous ont donné une idée des façons de ne pas vérifier la version!

je vous recommande de toujours utiliser $PSVersionTable.PSVersion. Toutes les autres méthodes peuvent sembler similaires à la version du moteur PowerShell, mais ne reflètent pas toujours la version du moteur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *