Fix: Signerade PowerShell-cmdlets körs långsammare än osignerade cmdlets

En cmdlet är ett lättviktigt kommando som används i Windows PowerShell- miljön. Windows PowerShell- runtime anropar dessa cmdlets inom ramen för automatiseringsskript som tillhandahålls på kommandoraden. Windows PowerShell runtime anropar dem också programmatiskt genom Windows PowerShell API:er(Windows PowerShell APIs) . I dagens inlägg kommer vi att identifiera orsaken och sedan tillhandahålla lösningen till problemet med signerade PowerShell-cmdlets som(PowerShell cmdlets) körs långsammare än osignerade cmdlets på Windows .

Cmdlets utför en åtgärd och returnerar vanligtvis ett Microsoft .NET Framework- objekt till nästa kommando i pipelinen. För att skriva en cmdlet måste du implementera en cmdlet-klass som härrör från en av två specialiserade cmdlet-basklasser. Den härledda klassen måste:

  • Deklarera(Declare) ett attribut som identifierar den härledda klassen som en cmdlet.
  • Definiera(Define) offentliga egenskaper som är dekorerade med attribut som identifierar de offentliga egenskaperna som cmdlet-parametrar.
  • Åsidosätt en eller flera av indatabehandlingsmetoderna för att bearbeta poster.

Signerade PowerShell -cmdlets körs långsammare än osignerade cmdlets

Du kommer att märka att signerade Windows PowerShell -cmdlets körs långsammare än osignerade cmdlets.

Det här problemet uppstår eftersom datorn inte kan ansluta till följande adresser för verifiering av 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

Detta inträffar när ett nätverksproblem finns. Det finns till exempel felaktiga proxyinställningar.

För att kringgå det här problemet gör du följande:

Signerade PowerShell-cmdlets körs långsammare än osignerade cmdlets

  • Tryck på Windows - tangenten + R. I dialogrutan Kör skriver (Run)du gpedit.msc(gpedit.msc) och trycker på Enter för att öppna Local Group Policy Editor(open Local Group Policy Editor) .
  • Navigera till sökvägen nedan:

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

  • I informationsrutan till höger dubbelklickar du på Inställningar för validering av certifikatsökväg(Certificate Path Validation Settings) .
  • Välj fliken Nätverkshämtning .(Network Retrieval)
  • Markera kryssrutan Definiera dessa(Define these policy settings) policyinställningar.
  • Avmarkera kryssrutan Uppdatera certifikat automatiskt i Microsoft Root Certificate Program (rekommenderas)(Automatically update certificates in the Microsoft Root Certificate Program (recommended) ) .
  • Klicka på Verkställ(Apply) > OK.

Du kan nu avsluta Local Group Policy Editor .

That’s it!



About the author

"Jag är en frilansande Windows- och Office-expert. Jag har över 10 års erfarenhet av att arbeta med dessa verktyg och kan hjälpa dig att få ut det mesta av dem. Mina färdigheter inkluderar: arbeta med Microsoft Word, Excel, PowerPoint och Outlook; skapa webben sidor och applikationer; och hjälpa kunder att nå sina affärsmål."



Related posts