Novamente, conforme observado, se você fizer isso, será apenas uma ação de tipo de vírus e deverá ser bloqueada.
Como observa o @HackSlash, essa é a maneira correta de fazer isso.
Quando você diz uma janela do Windows por causa disso, e deve porque você está iniciando um novo shell e o shell tem que ser iniciado e mostrado como ativo. Você pode simplesmente adicionar a propriedade WindowStyle -minimize ou -hidden switch para diminuir isso.
PowerShell[.exe] [-Command { - | [-args ] | [] } ] [-EncodedCommand ] [-ExecutionPolicy ] [-File []] [-InputFormat {Text | XML}] [-Mta] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile] [-OutputFormat {Text | XML}] [-PSConsoleFile | -Version ] [-Sta] [-WindowStyle ]
PowerShell[.exe] -Help | -? | /?
-WindowStyle
Sets the window style for the session. Valid values are Normal, Minimized, Maximized and Hidden.
Ou esta abordagem, uma vez que até mesmo a janela acima irá momentaneamente piscar.
Howto hide a PowerShell prompt
http://jeffwouters.nl/index.php/2015/09/howto-hide-a-powershell-prompt
Ou este
Sneaky PowerShell Trick: Run Completely Without A Window
static void Main(string[] args) { var powershell = PowerShell.Create(); powershell.AddScript(@" Get-ChildItem -Path c:\temp | out-file c:\temp\shh.txt "); var handler = powershell.BeginInvoke(); while (!handler.IsCompleted) Thread.Sleep(200); powershell.EndInvoke(handler); powershell.Dispose(); }
https://workingsysadmin.com/sneaky-powershell-trick-run-completely-without-a-window