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:
- 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!
Related posts
Inaktivera säkerhetsfrågor i Windows 11/10 med ett PowerShell-skript
Kontrollera Windows 10 OS-arkitektur med PowerShell eller kommandotolk
Skapa systemåterställningspunkt med kommandotolken eller PowerShell
Hur man använder Windows PowerShell ISE - Handledning för nybörjare
Vad är PWSH.EXE? Lista över PWSH-syntax du kan använda
Hur man inaktiverar WiFi med CMD eller Powershell i Windows 10
Hur man lägger till PowerShell till snabbmenyn i Windows 10
Gå tillbaka Öppna kommandotolken här istället för PowerShell i Utforskaren
Hur man skapar ett lokalt användarkonto med PowerShell i Windows 11/10
Lista datorns BIOS-inställningar med GetBIOS PowerShell-modulen
Hur man fjärrstartar om Windows 10-dator med PowerShell
Hur man installerar PowerShell 7.0 på Windows 10
PowerShell 7 Lista över nya funktioner
Åtgärda PowerShell som orsakar hög CPU-användning i Windows 11/10
Felsök problem med Windows Server-nätverksanslutning via PowerShell
Aktivera fjärrskrivbord med kommandotolken eller PowerShell
Hur man tar bort eller skapar en schemalagd uppgift med PowerShell i Windows 11
Hur man blockerar IP eller en webbplats med PowerShell i Windows 10
Så här kontrollerar du PowerShell-versionen i Windows 11/10
Så här ser du PowerShell-kommandohistorik på Windows 10