Command-Line-Interface
如何執行隱藏或最小化的命令視窗?
我編寫了一個 powershell 腳本,它會生成一個使用者必須同意的“EULA”類型的彈出視窗。
它在登錄時通過作為使用者(非管理員)帳戶的計劃任務執行來執行此操作。它需要提昇執行,所以我使用以下腳本來提昇執行它:
$pw= convertto-securestring "myPassw0rd" -asplaintext –force $credential = new-object -typename system.management.automation.pscredential -argumentlist "-default-",$pw $localArgs = "/c Powershell c:\scripts\myScript.ps1" [System.Diagnostics.Process]::Start("cmd.exe", $localArgs, "Administrator", $credential.Password, $computer)
(我將加密密碼以使其更安全,但這與這個問題無關。)
無論如何-我的問題是,當呼叫腳本時,它會在我的“漂亮” EULA 彈出視窗後面顯示命令提示符視窗。
有沒有辦法隱藏/最小化命令視窗?
謝謝,
Ben
這應該是您需要的:
$Process = new-Object System.Diagnostics.Process $Process.StartInfo.UserName="Administrator" $Process.StartInfo.Password=$Credential.Password $Process.StartInfo.Domain="$Computer" $Process.StartInfo.WindowStyle="Hidden" $Process.StartInfo.FileName="cmd.exe" $Process.StartInfo.Arguments="$localArgs" $Process.Start()
您可以使用 Start-Process cmdlet (PowerShell 2.0):
Start-Process cmd.exe -Credential $credential -WindowStyle Hidden -WorkingDirectory … -ArgumentList…