Fix: Signerede PowerShell-cmdlets kører langsommere end usignerede cmdlets

En cmdlet er en letvægtskommando, der bruges i Windows PowerShell- miljøet. Windows PowerShell - runtime påberåber disse cmdlet'er inden for konteksten af ​​automatiseringsscripts, der leveres på kommandolinjen. Windows PowerShell runtime kalder dem også programmatisk gennem Windows PowerShell API'er(Windows PowerShell APIs) . I dagens indlæg vil vi identificere årsagen og derefter give en løsning på problemet med signerede PowerShell-cmdlets , der kører langsommere end usignerede cmdlets på Windows .

Cmdlet'er udfører en handling og returnerer typisk et Microsoft .NET Framework- objekt til den næste kommando i pipelinen. For at skrive en cmdlet skal du implementere en cmdlet-klasse, der stammer fra en af ​​to specialiserede cmdlet-basisklasser. Den afledte klasse skal:

  • Erklær(Declare) en attribut, der identificerer den afledte klasse som en cmdlet.
  • Definer(Define) offentlige egenskaber, der er dekoreret med attributter, der identificerer de offentlige egenskaber som cmdlet-parametre.
  • Tilsidesæt en eller flere af inputbehandlingsmetoderne for at behandle poster.

Signerede PowerShell -cmdlets kører langsommere end usignerede cmdlets

Du vil bemærke, at signerede Windows PowerShell -cmdlet'er kører langsommere end usignerede cmdlet'er.

Dette problem opstår, fordi computeren ikke kan oprette forbindelse til følgende adresser til bekræftelse af 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

Dette sker, når der er et netværksproblem. For eksempel er der forkerte proxyindstillinger.

Gør følgende for at omgå dette problem:

Signerede PowerShell-cmdlets kører langsommere end usignerede cmdlets

  • Tryk på Windows - tasten + R. I dialogboksen Kør(Run) skal du skrive gpedit.msc og trykke på Enter for at åbne Local Group Policy Editor(open Local Group Policy Editor) .
  • Naviger til stien nedenfor:

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

  • Dobbeltklik på Indstillinger for validering af certifikatsti(Certificate Path Validation Settings) i detaljeruden til højre .
  • Vælg fanen Netværkshentning(Network Retrieval) .
  • Marker afkrydsningsfeltet Definer disse politikindstillinger(Define these policy settings) .
  • Fjern markeringen i afkrydsningsfeltet Opdater automatisk certifikater i Microsoft Root Certificate Program (anbefalet)(Automatically update certificates in the Microsoft Root Certificate Program (recommended) ) .
  • Klik på Anvend(Apply) > OK.

Du kan nu afslutte Local Group Policy Editor .

That’s it!



About the author

Jeg arbejder som konsulent for Microsoft. Jeg har specialiseret mig i udvikling af mobile apps til Apple og Android enheder, og er desuden involveret i udvikling af Windows 7 apps. Min erfaring med smartphones og Windows 7 gør mig til en ideel kandidat til denne stilling.



Related posts