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:
- 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!
Related posts
Deaktiver sikkerhedsspørgsmål i Windows 11/10 ved hjælp af et PowerShell-script
Tjek Windows 10 OS-arkitektur ved hjælp af PowerShell eller kommandoprompt
Opret systemgendannelsespunkt ved hjælp af kommandoprompt eller PowerShell
Sådan bruger du Windows PowerShell ISE - begyndervejledning
Hvad er PWSH.EXE? Liste over PWSH-syntaks, du kan bruge
Forskellen mellem PowerShell og PowerShell Core
PowerShell 7 Liste over nye funktioner
Sådan installeres Google Chrome ved hjælp af Windows PowerShell
Erstat kommandoprompt med PowerShell i WinX-menuen i Windows 10
Sådan installeres Appx-apppakken ved hjælp af PowerShell i Windows 11/10
Sådan zippes og udpakkes filer ved hjælp af PowerShell i Windows 11/10
Opret flere mapper ved hjælp af kommandoprompt og PowerShell
Sådan planlægges PowerShell-script i Task Scheduler på Windows 10
Sådan åbnes en forhøjet PowerShell-prompt i Windows 11/10
Nulstil Windows Update Client ved hjælp af PowerShell Script
Sådan tjekker du PowerShell-versionen i Windows 11/10
Sådan sletter eller opretter du en planlagt opgave med PowerShell i Windows 11
Fejlfind problemer med Windows Server-netværksforbindelse via PowerShell
Sådan opretter du en lokal brugerkonto ved hjælp af PowerShell i Windows 11/10
Skift adgangskode til lokal konto ved hjælp af kommandoprompt eller PowerShell