Partager via


about_Windows_PowerShell_5.0

DESCRIPTION COURTE

Décrit les nouvelles fonctionnalités incluses dans Windows PowerShell 5.0.

DESCRIPTION DÉTAILLÉE

Windows PowerShell 5.0 inclut de nouvelles fonctionnalités importantes qui étendent son utilisation, améliorent sa convivialité et vous permettent de contrôler et de gérer les environnements Windows de manière plus simple et plus complète.

Windows PowerShell 5.0 est rétrocompatible. Les applets de commande, les fournisseurs, les modules, les composants logiciels enfichables (logiciels enfichables logiciels), les scripts, les fonctions et les profils conçus pour Windows PowerShell 4.0, Windows PowerShell 3.0 et Windows PowerShell 2.0 fonctionnent généralement dans Windows PowerShell 5.0 sans modification.

Windows PowerShell 5.0 est installé par défaut sur Windows Server Technical Preview et Windows Technical Preview. Pour installer Windows PowerShell 5.0 sur Windows Server 2012 R2, Windows 8.1 Entreprise ou Windows 8.1 Professionnel, téléchargez et installez Windows Management Framework 5.0. Assurez-vous de lire les détails du téléchargement et de répondre à toutes les exigences du système avant d’installer Windows Management Framework 5.0 Preview.

Vous pouvez également en savoir plus sur les modifications apportées à Windows PowerShell 5.0 dans Nouveautés de Windows PowerShell.

NOUVELLES FONCTIONNALITÉS

Nouvelles fonctionnalités de Windows PowerShell

  • À partir de Windows PowerShell 5.0, vous pouvez développer à l’aide de classes, d’une syntaxe formelle et d’une sémantique similaires à d’autres langages de programmation orientés objet. Class, Enum et d’autres mots-clés ont été ajoutés au langage Windows PowerShell pour prendre en charge la nouvelle fonctionnalité. Pour plus d’informations sur l’utilisation des classes, consultez about_Classes.

  • En collaboration avec Microsoft Research, une nouvelle applet de commande, ConvertFrom-String, a été ajoutée. ConvertFrom-String vous permet d’extraire et d’analyser des objets structurés à partir du contenu de chaînes de texte. Pour plus d’informations, consultez ConvertFrom-String.

  • Un nouveau module, Microsoft.PowerShell.Archive, inclut des applets de commande qui vous permettent de compresser des fichiers et des dossiers dans des fichiers d’archive (également appelés fichiers ZIP), d’extraire des fichiers ZIP existants et de mettre à jour les fichiers ZIP avec des versions plus récentes des fichiers compressés qu’ils contiennent.

  • Un nouveau module, OneGet, vous permet de découvrir et d’installer des progiciels sur Internet. Le module OneGet est un gestionnaire ou un multiplexeur de gestionnaires de packages existants (également appelés fournisseurs de packages) permettant d’unifier la gestion des packages Windows avec une seule interface Windows PowerShell.

  • Un nouveau module, PowerShellGet, vous permet de rechercher, d’installer, de publier et de mettre à jour des modules et des ressources DSC dans la galerie de ressources PowerShell ou sur un référentiel de modules interne que vous pouvez configurer en exécutant l’applet de commande Register-PSRepository.

  • New-Item, Remove-Item et Get-ChildItem ont été améliorés pour prendre en charge la création et la gestion de liens symboliques. Le paramètre ItemType de New-Item accepte une nouvelle valeur, SymbolicLink. Vous pouvez désormais créer des liens symboliques sur une seule ligne en exécutant l’applet de commande New-Item.

  • La transcription Windows PowerShell a été améliorée pour s’appliquer à toutes les applications d’hébergement (telles que Windows PowerShell ISE) en plus de l’hôte de console (powershell.exe). Les options de transcription (y compris l’activation d’une transcription à l’échelle du système) peuvent être configurées en activant le paramètre Activer la stratégie de groupe de transcription PowerShell, qui se trouve dans Modèles d’administration/Composants Windows/Windows PowerShell.

  • Une nouvelle fonctionnalité de suivi de script détaillé vous permet d’activer le suivi et l’analyse détaillés de l’utilisation des scripts Windows PowerShell sur un système. Une fois que vous avez activé le suivi de script détaillé, Windows PowerShell consigne tous les blocs de script dans le journal des événements de suivi d’événements pour Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • À compter de Windows PowerShell 5.0, les nouvelles applets de commande Syntaxe des messages cryptographiques prennent en charge le chiffrement et le déchiffrement du contenu à l’aide du format standard IETF pour la protection cryptographique des messages, comme documenté par RFC5652. Les applets de commande Get-CmsMessage, Protect-CmsMessage et Unprotect-CmsMessage ont été ajoutées au module Microsoft.PowerShell.Security.

  • Les nouvelles applets de commande du module Microsoft.PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug et Disable-RunspaceDebug vous permettent de définir des options de débogage sur un espace d’exécution, et de démarrer et d’arrêter le débogage sur un espace d’exécution. Pour le débogage d’espaces d’exécution arbitraires, c’est-à-dire des espaces d’exécution qui ne sont pas l’espace d’exécution par défaut pour une console Windows PowerShell ou une session ISE Windows PowerShell, Windows PowerShell vous permet de définir des points d’arrêt dans un script et d’empêcher l’exécution du script jusqu’à ce que vous puissiez attacher un débogueur pour déboguer le script d’espace d’exécution. La prise en charge du débogage imbriqué pour les espaces d’exécution arbitraires a été ajoutée au débogueur de script Windows PowerShell pour les espaces d’exécution.

  • De nouvelles applets de commande Enter-PSHostProcess et Exit-PSHostProcess vous permettent de déboguer des scripts Windows PowerShell dans des processus distincts du processus actuel qui s’exécute dans la console Windows PowerShell. Exécutez Enter-PSHostProcess pour entrer ou attacher à un ID de processus spécifique, puis exécutez-Get-Runspace pour retourner les espaces d’exécution actifs dans le processus. Exécutez Exit-PSHostProcess pour vous détacher du processus lorsque vous avez terminé de déboguer le script dans le processus.

  • Une nouvelle applet de commande Wait-Debugger a été ajoutée au module Microsoft.PowerShell.Utility. Vous pouvez exécuter Wait-Debugger pour arrêter un script dans le débogueur avant d’exécuter l’instruction suivante dans le script.

  • Le débogueur de flux de travail Windows PowerShell prend désormais en charge la saisie automatique de commande ou d’onglet, et vous pouvez déboguer les fonctions de flux de travail imbriquées. Vous pouvez maintenant appuyer sur Ctrl+Pause pour entrer le débogueur dans un script en cours d’exécution, dans les sessions locales et distantes, et dans un script de flux de travail.

  • Une applet de commande Debug-Job a été ajoutée au module Microsoft.PowerShell.Core pour déboguer l’exécution de scripts de travail pour Windows PowerShell Workflow, l’arrière-plan et les travaux s’exécutant dans des sessions à distance.

  • Un nouvel état, AtBreakpoint, a été ajouté pour les travaux Windows PowerShell. L’état AtBreakpoint s’applique lorsqu’un travail exécute un script qui inclut des points d’arrêt définis et que le script a atteint un point d’arrêt. Lorsqu’un travail est arrêté à un point d’arrêt de débogage, vous devez déboguer le travail en exécutant l’applet de commande Debug-Job.

  • Windows PowerShell 5.0 implémente la prise en charge de plusieurs versions d’un seul module Windows PowerShell dans le même dossier de $PSModulePath. Une propriété RequiredVersion a été ajoutée à la classe ModuleSpecification pour vous aider à obtenir la version souhaitée d’un module. cette propriété est mutuellement exclusive avec la propriété ModuleVersion. RequiredVersion est désormais pris en charge dans le cadre de la valeur du paramètre FullyQualifiedName des applets de commande Get-Module, Import-Module et Remove-Module.

  • Vous pouvez désormais effectuer la validation de la version du module en exécutant l’applet de commande Test-ModuleManifest.

  • Les résultats de l’applet de commande Get-Command affichent désormais une colonne Version. une nouvelle propriété Version a été ajoutée à la classe CommandInfo. Get-Command affiche les commandes de plusieurs versions du même module. La propriété Version fait également partie des classes dérivées de CmdletInfo : CmdletInfo et ApplicationInfo.

  • Une nouvelle applet de commande Get-ItemPropertyValue vous permet d’obtenir la valeur d’une propriété sans utiliser la notation par points. Par exemple, dans les versions antérieures de Windows PowerShell, vous pouvez exécuter la commande suivante pour obtenir la valeur de la propriété Base d’application de la clé de Registre PowerShellEngine :

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    (Get-ItemProperty -Path $keypath -Name  ApplicationBase).ApplicationBase
    

    À partir de Windows PowerShell 5.0, vous pouvez exécuter

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Un nouveau module NetworkSwitch contient des applets de commande qui vous permettent d’appliquer une configuration de commutateur, de réseau local virtuel (LAN) et de port de commutateur réseau de couche 2 de base aux commutateurs réseau certifiés avec le logo Windows Server 2012 R2 (et versions ultérieures).

  • Le paramètre FullyQualifiedName a été ajouté aux applets de commande Import-Module et Remove-Module, afin de prendre en charge le stockage de plusieurs versions d’un seul module.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession et Get-Command ont un nouveau paramètre, FullyQualifiedModule, de type ModuleSpecification. Ajoutez ce paramètre pour spécifier un module par son nom complet.

  • La valeur de $PSVersionTable.PSVersion a été mise à jour vers la version 5.0.

Nouvelles fonctionnalités de Windows PowerShell Configuration de l’état souhaité

  • Les améliorations du langage Windows PowerShell vous permettent de définir les ressources DSC (Desired State Configuration) Windows PowerShell à l’aide de classes. Import-DscResource'est maintenant un véritable mot-clé dynamique ; Windows PowerShell analyse le module racine du module spécifié à la recherche des classes qui contiennent l’attribut DscResource. Vous pouvez désormais utiliser des classes pour définir des ressources DSC, dans lesquelles ni un fichier MOF ni un sous-dossier DSCResource dans le dossier module ne sont nécessaires. Un fichier de module Windows PowerShell peut contenir plusieurs classes de ressources DSC.

  • Un nouveau paramètre, ThrottleLimit, a été ajouté aux applets de commande suivantes dans le module PSDesiredStateConfiguration. Ajoutez le paramètre ThrottleLimit pour spécifier le nombre d’ordinateurs ou de périphériques cibles sur lesquels vous souhaitez que la commande fonctionne en même temps.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Grâce au rapport d’erreurs DSC centralisé, les informations d’erreur détaillées sont non seulement enregistrées dans le journal des événements, mais elles peuvent également être envoyées à un emplacement central pour une analyse ultérieure. Vous pouvez utiliser cet emplacement central pour stocker les erreurs de configuration DSC qui se sont produites pour n’importe quel serveur de son environnement. Une fois le serveur de rapports défini dans la métaconfiguration, toutes les erreurs sont envoyées au serveur de rapports, puis stockées dans une base de données. Vous pouvez configurer cette fonctionnalité, qu’un nœud cible soit configuré ou non pour extraire des configurations à partir d’un serveur collecteur.

  • Les améliorations apportées à Windows PowerShell ISE facilitent la création de ressources DSC. Vous pouvez maintenant effectuer les opérations suivantes.

    • Répertoriez toutes les ressources DSC d’un bloc de configuration ou de nœud en saisissant Ctrl+Espace sur une ligne vide à l’intérieur du bloc.
    • Saisie semi-automatique des propriétés de ressource du type d’énumération.
    • Saisie semi-automatique sur la propriété DependsOn des ressources DSC, en fonction d’autres instances de ressources dans la configuration.
    • Amélioration de la saisie semi-automatique des valeurs de propriété de ressource.
  • Un nouvel attribut DscLocalConfigurationManager désigne un bloc de configuration en tant que méta-configuration, qui est utilisée pour configurer le gestionnaire de configuration local DSC. Cet attribut limite une configuration à ne contenir que les éléments qui configurent le gestionnaire de configuration local DSC. Pendant le traitement, cette configuration génère un fichier *.meta.mof qui est ensuite envoyé aux nœuds cibles appropriés en exécutant l’applet de commande Set-DscLocalConfigurationManager.

  • Les configurations partielles sont désormais autorisées dans Windows PowerShell 5.0. Vous pouvez remettre des documents de configuration à un nœud sous forme de fragments. Pour qu’un nœud reçoive plusieurs fragments d’un document de configuration, le Gestionnaire de configuration local du nœud doit d’abord être défini pour spécifier les fragments attendus.

  • La synchronisation inter-ordinateurs est une nouveauté de DSC dans Windows PowerShell 5.0. En utilisant les ressources WaitFor* intégrées (WaitForAll, WaitForAny et WaitForSome), vous pouvez désormais spécifier des dépendances entre les ordinateurs pendant les exécutions de configuration, sans orchestrations externes. Ces ressources assurent la synchronisation de nœud à nœud à l’aide de connexions CIM sur le protocole WS-Man. Une configuration peut attendre que l’état spécifique des ressources d’un autre ordinateur change.

  • Just Enough Administration (JEA), une nouvelle fonctionnalité de sécurité de délégation, exploite les espaces d’exécution limités DSC et Windows PowerShell pour aider à protéger les entreprises contre la perte ou la compromission de données par les employés, qu’elle soit intentionnelle ou non. Pour plus d’informations sur JEA, y compris l’endroit où vous pouvez télécharger la ressource DSC xJEA, consultez Juste assez d’administration.

  • Les nouvelles applets de commande suivantes ont été ajoutées au module PSDesiredStateConfiguration.

    • Une nouvelle applet de commande Get-DscConfigurationStatus obtient des informations de haut niveau sur l’état de la configuration à partir d’un nœud cible. Vous pouvez obtenir l’état de la dernière ou de toutes les configurations.
    • Une nouvelle applet de commande Compare-DscConfiguration compare une configuration spécifiée à l’état réel d’un ou de plusieurs nœuds cibles.
    • Une nouvelle applet de commande Publish-DscConfiguration copie un fichier MOF de configuration sur un nœud cible, mais n’applique pas la configuration. La configuration est appliquée lors de la prochaine passe de cohérence ou lorsque vous exécutez l’applet de commande Update-DscConfiguration.
    • Une nouvelle applet de commande Test-DscConfiguration vous permet de vérifier qu’une configuration résultante correspond à la configuration souhaitée, en renvoyant soit True si la configuration correspond à la configuration souhaitée, soit False si la configuration réelle ne correspond pas à la configuration souhaitée.
    • Une nouvelle applet de commande Update-DscConfiguration force le traitement d’une configuration. Si le Gestionnaire de configuration local est en mode extraction, l’applet de commande récupère la configuration du serveur collecteur avant de l’appliquer.

Nouvelles fonctionnalités de Windows PowerShell ISE

  • Vous pouvez désormais modifier des scripts et des fichiers Windows PowerShell distants dans une copie locale de Windows PowerShell ISE, en exécutant Enter-PSSession pour démarrer une session à distance sur l’ordinateur qui stocke les fichiers que vous souhaitez modifier, puis en exécutant PSEdit <path and file name on the remote computer>. Cette fonctionnalité facilite la modification des fichiers Windows PowerShell stockés sur l’option d’installation Server Core de Windows Server, où Windows PowerShell ISE ne peut pas s’exécuter.
  • L’applet de commande Start-Transcript est désormais prise en charge dans Windows PowerShell ISE.
  • Vous pouvez désormais déboguer des scripts distants dans Windows PowerShell ISE.
  • Une nouvelle commande de menu, Break All (Ctrl+B), s’infiltre dans le débogueur pour les scripts locaux et à distance.

Nouvelles fonctionnalités des services Web Windows PowerShell (extension de gestion OData IIS)

  • À compter de Windows PowerShell 5.0, vous pouvez générer un ensemble d’applets de commande Windows PowerShell en fonction de la fonctionnalité exposée par un point de terminaison OData donné, en exécutant l’applet de commande Export-ODataEndpointProxy.

Corrections de bogues notables dans Windows PowerShell 5.0

  • Windows PowerShell 5.0 inclut une nouvelle implémentation COM, qui offre des améliorations significatives des performances lorsque vous utilisez des objets COM.

Pour plus d’informations sur Windows PowerShell 5.0, visitez les sites Web suivants :

VOIR AUSSI

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Sauvegarder l'aide

Obtenir-Module

Debug-Job

Mettre à jour l'aide

Obtenir le processus

Supprimer-Ordinateur

Set-ExecutionPolicy

Ajout-Ordinateur

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

MOTS-CLÉS

Nouveautés de Windows PowerShell 5.0