Określ, czy skrypt jest uruchomiony ukryty

Próbuję programowo określić, czy skrypt .ps1 działa w sposób widoczny, czy nie. Jeśli działa w sposób widoczny, powinien się ponownie uruchomić ukryty. Jeśli jest już ukryty, nie podejmuj żadnych działań.

Problem, który mam, to pętla, w której ciągle się uruchamia, ponieważ nie można określić statusu ukrytego.

Szukałem zarówno polecenia cmdlet get-process, jak i GWMI Win32_process i nie widziałem niczego podobnego do właściwości .visible, aby sprawdzić status.

    If ($me -eq visible ???)
{
$Invisible = New-Object System.Diagnostics.ProcessStartInfo
$Invisible.FileName = "PowerShell.exe"
$Invisible.windowStyle ="Hidden"
$Invisible.arguments = "$myInvocation.MyCommand.Definition"
$Invisible.Verb = 'runas'
[System.Diagnostics.Process]::Start($Invisible)
}

Każdy pomysł, jakie pole mogę Jeśli -eq przeciw ??

questionAnswers(4)

yourAnswerToTheQuestion