Determine se o script está executando escondido

Eu estou tentando determinar programaticamente se um script .ps1 está sendo executado visivelmente ou não. Se estiver funcionando visivelmente, deve se reiniciar escondido. Se já estiver oculto, não faça nada.

O problema que tenho é um loop onde ele se reinicia continuamente porque o status oculto não pode ser determinado.

Eu estive olhando para o cmdlet get-process e GWMI Win32_process e não vejo nada como uma propriedade .visible para verificar o 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)
}

Alguma idéia de qual campo eu posso Se -eq contra ???

questionAnswers(4)

yourAnswerToTheQuestion