2016-04-26 12 views
0

Ich habe ein Skript, das ich in PowerShell ISE geschrieben hat, das perfekt funktioniert. Es funktioniert sogar, wenn ich es kopiere und in reguläre PowerShell einfügen. Wenn ich es jedoch mit regulärer PowerShell ausführe, indem ich es zum Standardprogramm mache, um es zu öffnen, doppelklicke es, es öffnet sich einfach, zeigt etwas roten Text an und schließt sich.PowerShell beenden

Gibt es eine Möglichkeit, die Schließung zu stoppen, damit ich den roten Text sehen kann oder ist das ein häufiges Problem, das leicht behoben werden kann?

+0

Ein einfacher Weg, und trotzdem eine gute Praxis, ist die Verwendung des Befehls start-transkript nahe dem Anfang des Skripts, so dass die Ausgabe in einer Datei protokolliert wird. –

+0

.psq-Skript sollte nicht von PowerShell geöffnet werden. Sie können es beispielsweise in PowerShell ausführen, namentlich. . \ script.ps1. – Alexan

+0

Transkript starten. Ich warf es hinein, gab keine Ausgabe. Keine Datei in normalem PS gemacht, aber in ISE tat es. Also keine Hilfe dort. – Captor

Antwort

0

Versuchen von cmd Aufforderung mit:

powershell -noexit <path to the script> 

Außerdem denke ich, dass der Fehler Skript werfen werden, um das Blockieren von Skripten von der Ausführung auf Ihrem Rechner aufgrund der Ausführung Politik sein könnte. Sonst würde Transkript funktionieren. Stellen Sie sicher, dass die Ausführungsrichtlinie ordnungsgemäß mithilfe des Cmdlets Set-ExecutionPolicy festgelegt ist.

+0

Ziemlich sicher, es wurde festgestellt, dass es würde Arbeiten Sie in diesem Szenario ohne Fehler. Dies erklärt das Problem nicht. – Matt

+0

Sie haben @Matt korrekt. Ich habe vorher "15 weitere Kommentare anzeigen" nicht gesehen. Mein Fehler. Immer noch beantwortet meine Antwort die ursprüngliche Frage. Ist es nicht. –

+0

Ich denke, die Frage ist im Moment unklar, weshalb es so viele Kommentare gibt. Dies kann nicht konkret beantwortet werden, bis wir mehr erfahren. Wenn dies die richtige Antwort ist, dann ist es sicherlich ein Betrogener, kann aber zu diesem Zeitpunkt nicht sicher sein. Das OP hat die Assoziation verändert, was etwas Wunderbares ist. – Matt

0

Die Vorgehensweise zum Festlegen von Powershell-Skripts, die beim Doppelklicken ausgeführt werden, ist aus Sicherheitsgründen highly discouraged. Bitte stellen Sie sicher, dass Sie sich der Risiken bewusst sind, bevor Sie fortfahren.

Sie können Powershell nicht einfach als Standardprogramm über die Windows Explorer-Benutzeroberfläche erstellen. Die Run mit Powershell Kontextmenü-Option verwendet den folgenden Befehl ein:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"

Die „sicherste“ Weg zu erreichen (im Sinn der obigen Vorbehalt Lager) zu tun, was Sie versuchen, ist Default Programs Editor zu verwenden zu setzen Die Run mit Powershell Kontextmenü Option als Standard.

Verwandte Themen