2017-04-26 4 views
0

Um Interaktionen oder Stopps bei der Skriptausführung für die Eingabe in PowerShell zu vermeiden, muss die Ausführung im nicht interaktiven Modus ausgeführt werden. Wie zum Beispiel:Ändern Sie den PowerShell-Ausführungsmodus in "NonInteractive" innerhalb des Skripts?

powershell.exe -NonInteractive 

Ich mochte diesen Ausführungsmodus in Skript ‚Laufzeit‘ ohne oder eine andere Powershell-Konsole verwenden, um neu starten zu müssen geändert werden. Oder vielleicht eine Möglichkeit, die "Nicht-Interaktion" zu erzwingen.

Ist das möglich?

+3

Ich glaube nicht, das 'NonInteractive' Schalter wirkt sich auf eine Reihe von Einstellungen, die nur beim Start –

Antwort

0

Warum verstecken Sie nicht einfach die Konsole während der Laufzeit und zeigen Sie die Konsole erneut, wenn Sie fertig sind.

Add-Type -Name Window -Namespace Console -MemberDefinition ' 
[DllImport("Kernel32.dll")] 
public static extern IntPtr GetConsoleWindow(); 

[DllImport("user32.dll")] 
public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow); 
' 

function Show-Console { 
    $consolePtr = [Console.Window]::GetConsoleWindow() 
    #5 show 
[Console.Window]::ShowWindow($consolePtr, 5) 
} 

function Hide-Console { 
    $consolePtr = [Console.Window]::GetConsoleWindow() 
    #0 hide 
[Console.Window]::ShowWindow($consolePtr, 0) 
} 
+0

Im Moment berührt ich bestimmte Werte beibehalten müssen, die in der aktuellen Konsolensitzung gespeichert werden, so Öffnung Eine andere Konsole würde diese reinigen. Danke für die Eingabe. –

Verwandte Themen