2

I try to start an Java program from a PowerShell script, but I don't want see any window. I have already tried all possible combinations of parameters for ProcessStartInfo and Process, but it still displays a empty shell window for java.exe. This is my current PowerShell code:

$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()

I hope anyone could help me with this issue.

André
  • 464
  • 4
  • 17

0 Answers0