Correction : les applets de commande PowerShell signées s'exécutent plus lentement que les applets de commande non signées

Une applet(cmdlet) de commande est une commande légère utilisée dans l' environnement Windows PowerShell . Le runtime Windows PowerShell appelle ces applets de commande dans le contexte des scripts d'automatisation fournis sur la ligne de commande. Le runtime Windows PowerShell les appelle également par programmation via les API Windows PowerShell(Windows PowerShell APIs) . Dans la publication d'aujourd'hui, nous identifierons la cause, puis fournirons une solution de contournement au problème des applets de commande PowerShell(PowerShell cmdlets) signées qui s'exécutent plus lentement que les applets de commande non signées sous Windows .

Les applets de commande effectuent une action et renvoient généralement un objet Microsoft .NET Framework à la commande suivante du pipeline. Pour écrire une applet de commande, vous devez implémenter une classe d'applet de commande qui dérive de l'une des deux classes de base d'applet de commande spécialisées. La classe dérivée doit :

  • Déclarez(Declare) un attribut qui identifie la classe dérivée en tant qu'applet de commande.
  • Définissez(Define) des propriétés publiques décorées avec des attributs qui identifient les propriétés publiques en tant que paramètres d'applet de commande.
  • Remplacez une ou plusieurs des méthodes de traitement des entrées pour traiter les enregistrements.

Les applets de commande PowerShell(PowerShell) signées s'exécutent plus lentement que les applets de commande non signées

Vous remarquerez que les applets de commande Windows PowerShell signées s'exécutent plus lentement que les applets de commande non signées.

Ce problème se produit car l'ordinateur ne peut pas se connecter aux adresses suivantes pour la vérification de la liste de confiance des certificats(Certificate Trust List) ( CTL ) :

http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab

http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab

Cela se produit lorsqu'un problème de réseau existe. Par exemple, il existe des paramètres de proxy incorrects.

Pour contourner ce problème, procédez comme suit :

Les applets de commande PowerShell signées s'exécutent plus lentement que les applets de commande non signées

  • Appuyez sur la touche Windows + R. Dans la boîte de dialogue Exécuter , tapez (Run)gpedit.msc et appuyez sur Entrée pour ouvrir l'éditeur de stratégie de groupe local(open Local Group Policy Editor) .
  • Accédez au chemin ci-dessous :

Computer Configuration > Windows Settings > Security Settings > Public Key Policies

  • Dans le volet de détails à droite, double-cliquez sur Paramètres de validation du chemin du certificat(Certificate Path Validation Settings) .
  • Sélectionnez l' onglet Récupération réseau .(Network Retrieval)
  • Cochez la case Définir ces paramètres de stratégie .(Define these policy settings)
  • Décochez la case Mettre à jour automatiquement les certificats dans le programme de certificat racine Microsoft (recommandé)(Automatically update certificates in the Microsoft Root Certificate Program (recommended) ) .
  • Cliquez sur Appliquer(Apply) > OK.

Vous pouvez maintenant quitter l'éditeur de stratégie de groupe local(Local Group Policy Editor) .

That’s it!



About the author

Je suis un ingénieur en informatique avec plus de 10 ans d'expérience dans l'industrie du logiciel, plus précisément dans Microsoft Office. J'ai écrit des articles et des tutoriels sur divers sujets liés à Office, y compris des conseils sur la façon d'utiliser ses fonctionnalités plus efficacement, des astuces pour maîtriser les tâches bureautiques courantes, etc. Mes compétences en tant qu'écrivain font également de moi une excellente ressource pour ceux qui souhaitent en savoir plus sur Office ou qui ont simplement besoin de conseils rapides.



Related posts