Les nouvelles versions de PowerShell viendront évidemment avec de nouvelles fonctionnalités et de nouvelles applets de commande. Il est important de prendre cela en considération lors de l'écriture de scripts ou des procédures pas à pas de PowerShell, qui peuvent être exécutés localement sur des systèmes dotés de différentes versions.
Un exemple simple serait Get-FileHash
. Cette commande est nouvelle dans PowerShell 4.0 et ne sera disponible pour aucun système exécutant une version antérieure. Il ne sera notamment pas disponible sur les systèmes exécutant Windows 7 SP0 (ou Server 2008 R2 SP0) ou une version antérieure, car PowerShell 4.0 n'est pas du tout pris en charge sur ces systèmes.
Cependant, mis à part le simple fait de prendre en charge la version donnée de PowerShell, il convient d’examiner plus avant la version du système d’exploitation installée. Par exemple, Test-NetConnection
seule Windows 8.1 (ou Server 2012 R2) est actuellement (actuellement) disponible, quelle que soit la version de PowerShell installée sur un système exécutant un système d'exploitation antérieur.
Tout cela est assez simple pour les scripts ou les guides qui exécuteront des commandes PowerShell sur le système local - si le système local dispose des systèmes d'exploitation version A et PowerShell version B, vous pouvez utiliser (et ne pouvez utiliser que) les commandes prises en charge sur le système d'exploitation A avec PS B. Cependant, cela ne semble pas aussi simple ni clair dans les cas où un script s'adresse à un ordinateur distant pouvant exécuter une version différente du système d'exploitation ou de PowerShell.
Dans quelle mesure différentes versions de PowerShell affectent-elles les commandes exécutées sur des ordinateurs distants?
- Si le système local exécute une version supérieure, les commandes / fonctionnalités les plus récentes seront-elles disponibles pour le système distant?
- Si le système distant exécute une version supérieure, existe-t-il un moyen simple (et scriptable) d’exploiter les commandes / fonctionnalités les plus récentes lorsque le système local ne les prend pas en charge?
- Existe-t-il des règles générales auxquelles on peut se rappeler pour savoir quels problèmes de compatibilité il faut s'attendre, ou s'agit-il de quelque chose qui varie beaucoup et doit être étudié / testé individuellement pour chaque commande ou fonctionnalité utilisée?
-Computer
paramètre d'une console locale?