PowerShell 64-Bit hängt an einer neuen Maschine

562
Nelson Rothermel

Ich habe gerade einen neuen Computer mit viel PS bekommen, und er funktioniert überall schnell außer PowerShell. Einige der Symptome scheinen konstant zu sein:

  • Beim Öffnen von PowerShell werden die Copyright-Informationen angezeigt und 2 Minuten lang angezeigt, bevor die Aufforderung angezeigt wird.
  • Ich fange an, einen Befehl einzugeben, und es dauert fast eine Minute, bis der Text erscheint
  • Sobald der Text erscheint, kann ich den Befehl ändern und er ist ansprechend.
  • Wenn Sie einen einfachen Befehl echo 'hello'eingeben und die Eingabetaste drücken, dauert es etwa 45 Sekunden, bis "Hallo" auf dem Bildschirm angezeigt wird, und weitere 45 Sekunden, um zur Eingabeaufforderung zurückzukehren.
  • Einmal auf die Aufforderung reagiert es wieder.
  • Führen Sie den Befehl dir in meinem Home-Verzeichnis (einige Dateien / Ordner) aus, ca. 2:30 Uhr vor dem Auflisten des Verzeichnisses. Weitere 15 Sekunden, um zur Eingabeaufforderung zurückzukehren.
  • Ich habe viel Speicher übrig und die CPU ist fast leer, während sie hängt.

Einige versuchte Fehlerbehebung:

  • PowerShell ISE: Es dauert etwa 5 Minuten, bis die Eingabeaufforderung angezeigt wird.
  • PowerShell ISE (x86): Es funktioniert!
  • PowerShell-Legacy-Konsole: Keine Änderung.
  • Eine reguläre Befehlszeile öffnen und ausführen powershell -NoProfile: Keine Änderung.
  • sfc / scannow: Keine Probleme gefunden.
  • Netzwerkverbindungen deaktivieren: Keine Änderung.
  • Führen Sie Sysinternals procmon aus: Nichts offensichtliches, aber es scheint immer nach einigen "Thread Exit" -Operationen direkt zu hängen.
  • Schauen Sie sich Threadstacks in Sysinternals procexp an: Wenn es hängt, befindet sich der Hauptthread immer unter ntdll.dll ZwWaitForMultipleObjects.
  • WSL / Hyper-V deinstallieren: Keine Änderung.
  • WinRM ( winrm quickconfig) aktivieren : Der Dienst wird gestartet, kann jedoch keine Verbindung herstellen.
    • Ich kann sehen, dass Port 5985 von PID 4 abgehört wird, wenn der Dienst gestartet wird.
    • Die Windows-Firewall verfügt über die beiden Einträge "Windows Remote Management (HTTP-In)" für Port 5985 (beliebige Remoteadressen in einem privaten Netzwerk / Profil zulassen).
    • Ich kann erfolgreich telnet localhost 5985
    • Nach dem Start des WinRM-Dienstes dauert es etwa 7 Minuten, bis der Server mit:

WSManFault ...

Fehlernummer: -2144108250 0x80338126 WinRM kann den Vorgang nicht abschließen. Stellen Sie sicher, dass der angegebene Computername gültig ist, dass der Computer über das Netzwerk erreichbar ist und dass eine Firewall-Ausnahme für den WinRM-Dienst aktiviert ist und der Zugriff von diesem Computer aus möglich ist. Standardmäßig beschränkt die WinRM-Firewall-Ausnahme für öffentliche Profile den Zugriff auf Remote-Computer innerhalb desselben lokalen Subnetzes.

Die Konsequenz der Verzögerungen lässt mich denken, dass es irgendeine Art von Verbindungsversuch und Timeout gibt, aber ich weiß nicht, was das sein könnte. Irgendwelche Gurus mit Ideen?

0

1 Antwort auf die Frage

0
Nelson Rothermel

Dank des Antivirus-Kommentars unter https://stackoverflow.com/questions/45021585/powershell-hangs-on-launch ! Ich hatte Bitdefender Antivirus installiert. Durch das Deaktivieren wurde das Problem nicht behoben, die Deinstallation jedoch nicht. Ich habe eine Neuinstallation versucht und das Problem wurde erneut angezeigt. Durch Hinzufügen aller C:\zur Ausschlussliste wurde das Problem nicht behoben.