Oplossing: ondertekende PowerShell-cmdlets werken langzamer dan niet-ondertekende cmdlets

Een cmdlet is een lichtgewicht opdracht die wordt gebruikt in de Windows PowerShell- omgeving. De Windows PowerShell -runtime roept deze cmdlets aan binnen de context van automatiseringsscripts die op de opdrachtregel worden geleverd. De Windows PowerShell -runtime roept ze ook programmatisch aan via Windows PowerShell-API's . In het bericht van vandaag zullen we de oorzaak identificeren en vervolgens de oplossing bieden voor het probleem van ondertekende PowerShell-cmdlets die langzamer werken dan niet-ondertekende cmdlets op Windows .

Cmdlets voeren een actie uit en retourneren doorgaans een Microsoft .NET Framework - object naar de volgende opdracht in de pijplijn. Als u een cmdlet wilt schrijven, moet u een cmdlet-klasse implementeren die is afgeleid van een van de twee gespecialiseerde cmdlet-basisklassen. De afgeleide klasse moet:

  • Declareer(Declare) een kenmerk dat de afgeleide klasse identificeert als een cmdlet.
  • Definieer(Define) openbare eigenschappen die zijn versierd met kenmerken die de openbare eigenschappen identificeren als cmdlet-parameters.
  • Overschrijf een of meer van de invoerverwerkingsmethoden om records te verwerken.

Ondertekende PowerShell -cmdlets werken langzamer dan niet-ondertekende cmdlets

U zult merken dat ondertekende Windows Power(Windows PowerShell) shell- cmdlets langzamer worden uitgevoerd dan niet-ondertekende cmdlets.

Dit probleem treedt op omdat de computer geen verbinding kan maken met de volgende adressen voor verificatie van de certificaatvertrouwenslijst(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

Dit gebeurt wanneer er een netwerkprobleem is. Er zijn bijvoorbeeld onjuiste proxy-instellingen.

Ga als volgt te werk om dit probleem te omzeilen:

Ondertekende PowerShell-cmdlets werken langzamer dan niet-ondertekende cmdlets

  • Druk op de Windows -toets + R. Typ in het dialoogvenster Uitvoeren gpedit.msc (Run)en(gpedit.msc) druk op Enter om de Editor voor lokaal groepsbeleid te openen(open Local Group Policy Editor) .
  • Navigeer naar het onderstaande pad:

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

  • Dubbelklik in het detailvenster aan de rechterkant op Instellingen voor validatie van certificaatpaden(Certificate Path Validation Settings) .
  • Selecteer het tabblad Netwerk ophalen .(Network Retrieval)
  • Schakel het selectievakje Deze beleidsinstellingen definiëren in(Define these policy settings) .
  • Schakel het selectievakje Certificaten automatisch bijwerken in het Microsoft Root Certificate Program (aanbevolen) uit(Automatically update certificates in the Microsoft Root Certificate Program (recommended) ) .
  • Klik op Toepassen(Apply) > OK.

U kunt nu de Editor voor lokaal groepsbeleid(Local Group Policy Editor) afsluiten .

That’s it!



About the author

Ik ben een computerprogrammeur en ben dat al meer dan 15 jaar. Mijn vaardigheden liggen in het ontwikkelen en onderhouden van softwareapplicaties en het bieden van technische ondersteuning voor die applicaties. Ik heb ook computerprogrammering gegeven aan middelbare scholieren en ben momenteel een professionele instructeur.



Related posts