Les principales nouveautés de PowerShell 4.0
L'arrivée de Windows Server 2012 R2 est accompagnée par la version 4.0 de PowerShell, faisons le point sur les principales nouveautés apportées par cette 4ème mouture.
* Save-Help : Obtenir de l'aide en PowerShell se fait par l'intermédiaire de la commande "Get-Help" ou encore "Get-Member" pour obtenir les propriétés et les méthodes d'un quelconque objet PowerShell. Avec PowerShell 4.0, il est désormais possible de sauvegarder l'intégralité de l'aide PowerShell sans installer les modules au préalable, ce qui était nécessaire avec la version Save-Help de PowerShell 3.0.
* Enable-VMIntegrationService / Disable-VMIntegrationService : Ces commandlets permettent d'activer ou de désactiver les services d'intégrations au sein d'une VM Hyper-V grâce à une seule ligne de code. Ceci sans devoir passer par l'interface de paramètrage d'Hyper-V, on a donc la main depuis l'hôte invité.
* Copy-VMFile : Ce commandlet en réjouira plus d'un ! Moi le premier. Il est désormais possible grâce à ce simple commandlet de transférer des fichiers entre l'hôte Hyper-V et la VM ayant comme OS invité (Guest OS) Windows Server 2012 R2 ou Windows 8.1. Note : En dehors de PowerShell, la nouvelle version du client RDP d'Hyper-V permet aussi le copier-coller entre l'hôte Hyper-V et la VM.
* Start-DscConfiguration : DSC (Desired State Configuration) est une extension PowerShell pour Windows Server 2012 R2 et Windows 8.1 qui permet d'installer des fonctionnalités et rôles, gérer le registre, gérer les services, gérer les utilisateurs, exécuter des scripts, etc. Le principe est de définir un script de configuration de serveur type et ensuite on utilise ce fichier pour vérifier la configuration de serveurs, si la configuration est différente les changements sont opérés pour faire correspondre à votre configuration prédéfinie. Le DSC est une extension importante, je vous invite à consulter différents articles pour obtenir plus d'informations.
* Get-FileHash : Permet de calculer le hash d'un fichier notamment lors du téléchargement d'un fichier. Plusieurs algorithmes sont disponibles parmi lesquels MD5 et SHA1.
* Get-NetNat, New-NetNat, Set-NetNat, etc. : Série de commandes du module NetNat directement en rapport avec la fonctionnalité Routing and Remote Access.
* Get-VMFirmware / Set-VMFirmware : La nouvelle version d'Hyper-V introduit la génération 2 de machines virtuelles avec notamment une nouvelle architecture, et, l'intégration d'un BIOS dans les VMs. Ces commandlets permettent d'obtenir la version du firmware et de le changer.
* Set-ScheduledJob : Déjà présent dans PowerShell 3.0 ce commandlet est amélioré dans la version 4.0, il permet toujours la création de tâches planifiées en intégrant plus de paramètres. On trouve par exemple "RepeatIndefinitely" qui permet de répéter un job indéfiniment.
* Test-NetConnection : Ce commandlet vous permettra de résoudre les problèmes de connexion réseau sur une machine en intégrant de nombreux tests au sein de la même commande.
* Test-VMNetworkAdapter : Permet de tester l'adaptateur réseau virtuel de votre machine virtuelle pour vérifier son bon fonctionnement et vous aider dans la résolution de problème.
Mise à part les améliorations cités ci-dessus on trouvera d'autres commandlets, des résolutions de bugs et d'autres ajouts de paramètres dans certains commandlets comme :
* Ajout du paramètre "IncludeUserName" dans le commandlet Get-Process pour afficher le nom de l'utilisateur ayant initié le lancement d'un processus.
* Import-Csv ignore désormais les lignes vides.
* Get-Module affiche désormais la version du module dans une colonne supplémentaire.
Source : Technet