PowerShell | System.Diagnostics.Process | Java |隐藏窗口

时间:2016-11-11 15:37:10

标签: java powershell window hide processstartinfo

我尝试从PowerShell脚本启动Java程序,但我不想看到任何窗口。我已经为 ProcessStartInfo Process 尝试了所有可能的参数组合,但它仍然显示了java.exe的空shell窗口。这是我目前的PowerShell代码:

$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = "$jre\bin\java.exe"
$pinfo.RedirectStandardError = $true
$pinfo.RedirectStandardOutput = $true
$pinfo.CreateNoWindow = $true
$pinfo.WindowStyle = "Hidden"
$pinfo.UseShellExecute = $false
$pinfo.WorkingDirectory = $temp
if ($integrated) {
    Write-Output "Connecting using integrated security ..."
    # Start with different user context
    $securePassword = ConvertTo-SecureString $pw -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential $user, $securePassword

    $pinfo.UserName = $credential.GetNetworkCredential().UserName
    $pinfo.Domain = $credential.GetNetworkCredential().Domain
    $pinfo.Password = $credential.Password
    $pinfo.Arguments = "-jar `"$jar`" validate -url `"$jdbc`" -i -dbVersion `"$msSqlVersion`""
} else {
    Write-Output "Connecting ..."
    $pinfo.Arguments = "-jar `"$jar`" validate -url `"$jdbc`" -u `"$user`" -p `"$pw`" -dbVersion `"$dbVersion`"" 
}
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
$p.Start() 
$p.StandardOutput.ReadToEnd()
$p.StandardError.ReadToEnd()
$p.WaitForExit()

我希望有人可以帮我解决这个问题。

0 个答案:

没有答案