Das Laden von Powershell-Skripten dauert sehr lange


0

Warum dauert die Ausführung eines einfachen Powershell-Skripts mindestens ein Dutzend Sekunden?

Hier ist das gesamte Skript ( test-slow.ps1 ):

write-host "test"

Ich rufe es so an einer Eingabeaufforderung auf:

>echo %TIME%
15:07:12.64

>powershell .\test-slow.ps1
test

>echo %TIME%
15:07:26.81

Wenn ich eine Powershell-Instanz von der Eingabeaufforderung cmd aus starte und dieses einfache Skript in dieser Instanz ausführe, gibt es keinen Unterschied (oder so wenig, dass dies bedeutet, dass immer noch etwas nicht stimmt).

Systeminformationen:

PS> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10240  16384

>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:     Microsoft Windows 10 Pro
OS Version:  10.0.10240 N/A Build 10240

Ich greife über Remotedesktop (Kabelverbindung, nicht drahtlos) auf das Gerät zu, aber es funktioniert lokal genauso. Es befindet sich in einem lokalen LAN, ist jedoch NICHT mit dem Internet verbunden.


Warum verwenden Sie 1507 anstelle von 1511 oder 1607?
Ramhound

1
Ich würde Process Monitor ausführen ( technet.microsoft.com/sysinternals/processmonitor.aspx ) und starte das Skript. Zunächst würde ich die Spalten Relative Zeit und Dauer hinzufügen und den Prozessnamen lautet Powershell.exe filtern. Ich würde mich anfangs nur auf das Laden von Bildern konzentrieren, um zu sehen, wo die Zeit verloren geht. Ist es zum Beispiel schnell, alle Module zu laden? Könnte es sein, dass es eine Sicherheitssoftware gibt, die einige Zeit in Anspruch nimmt? Das Entfernen des Filters für Powershell.exe und das Hinzufügen einer Duration von mehr als 0,1 kann hilfreich sein. In jedem Fall zeigt Ihnen eine PML, wo die Zeit verloren geht. Ich hoffe es hilft.
HelpingHand

echo %time%&powershell .\test-slow.ps1&call echo %^time% starte es zweimal von einem offenen cmd Fenster. Ist eine Verzögerung gleich?
JosefZ

@Ramhound, weil ich mit einem Basis-Image arbeite, von dem andere Apps abhängen. Hat 1511 oder neuer eine aktualisierte Powershell? Es macht mir nichts aus, ein Update zu installieren, um diese Theorie zu testen, aber die Box ist nicht mit dem Internet verbunden - wie kann ein Betriebssystem-Update offline angewendet werden?
atreyu

@JosefZ, ich habe diesen Befehl zweimal ausgeführt, um ihn zu öffnen cmd Fenster, und die Verzögerung war die gleiche (ca. 9-10 Sekunden)
atreyu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.