Powershell: Powershell -WindowStyle рд╣рд┐рдбрди рдЕрднреА рднреА рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЬрдире░ 2017  ┬╖  90рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PowerShell/PowerShell

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

Windows рд░рди рд╕рдВрд╡рд╛рдж рдореЗрдВ рдпрд╣ рдЯрд╛рдЗрдк рдХрд░реЗрдВ:
PowerShell.exe -WindowStyle Hidden -Command ping www.microsoft.com

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдХреЛрдИ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрднреА рдЖрдк рд╡рд┐рдВрдбреЛ рдлреНрд▓реИрд╢рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдкрд╛рд╡рд░рд╢реЗрд▓ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЕрдиреБрд╕реВрдЪрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд╣реИред

рдиреЛрдЯ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднрд┐рдкреНрд░реЗрдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреНрд░рд╛рдордХ рд╣реИ рдФрд░ рдирдП рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ, рддреЛ рдЧреЛ-рдЯреВ рд╡рд░реНрдХрдЕрд░реНрд╕ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреА рдПрдХ

Dim shell,command
command = "powershell.exe -nologo -File D:\myscript.ps1"
Set shell = CreateObject("WScript.Shell")
shell.Run command,0

рдпрд╣ рдЕрдЪреНрдЫреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рд╢реЗрд▓ рдореЗрдВ рд╣реА рдЗрд╕ рдлреАрдЪрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлреАрдЪрд░ рд╣реИрдВ рдФрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдкрд░ рд╡рд┐рдВрдбреЛ рдлреНрд▓реИрд╢ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреБрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдпрд╣ рдкреЙрд╡рд░рд╢реЗрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдлреНрд▓реИрд╢ рдХрд░рддрд╛ рд╣реИред

рдкрд░реНрдпрд╛рд╡рд░рдг рдбреЗрдЯрд╛

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.14393.693
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.693
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
Issue-Enhancement OS-Windows WG-Interactive-Console

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ powershellw.exe рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрдЧрд╛ рдЬреЛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ javaw.exe рдФрд░ pythonw.exe рдХрд░рддреЗ рд╣реИрдВред

рд╕рднреА 90 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

powershell.exe рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдУрдПрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рд╢рдХреНрддрд┐рдпрд╛рдВред Exe рдХреЛрдб рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ -WindowStyle рд╣рд┐рдбрди рдЗрд╕рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдЦреБрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдлреНрд▓реИрд╢ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдВрд╕реЛрд▓ рд╣реЛрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрдЬрд╛рдп wscript рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛рдиреА win32 рд╣реЛрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рдпрд╛рдВред Exe рдореЗрдВ рдХреЛрдИ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП wscript рдЬреИрд╕реА рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ

http://www.f2ko.de/en/p2e.php
рдФрд░ Power Shell Studio рдХреА рдХрд╕реНрдЯрдо рд╣реЛрд╕реНрдЯ рднреА рд╣реИ

рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ powershellw.exe рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрдЧрд╛ рдЬреЛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ javaw.exe рдФрд░ pythonw.exe рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ pwsh.exe рд▓рд┐рдП рд╕рдорд░реНрдерди рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ pwshw.exe рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕ pwsh exe рдХреЗ рдирдП рд╣реЛрдиреЗ рд╕реЗ рдпрд╣ -windowstyle hidden рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рд╕рдордп рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдХрд┐рд╕реА рдиреЗ рдХрднреА рднреА hidden рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реЛрдЪрд╛ "рд╣рд╛рдВ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╡рд╣ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдХреНрд░реАрди рдлреНрд▓реИрд╢ рдХрд░реЗрдВ"ред

рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдФрд░ рдЗрд╕рдХреА рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрд╛рдж powerhell.exe рдХреЛ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ pwshw.exe рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛

рд╕рд╣рдордд .. рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдирд┐рд╖реНрдкрд╛рджрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реЛрдЧрд╛ рдФрд░ рдореБрдЭреЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ vbs рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдореЗрд░реА рд╢рдмреНтАНрджрд╛рд╡рд▓реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░реЗрдЧрд╛ред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╣рдо https://github.com/AvaloniaUI/Avalonia/wiki/Hide-console-window-for-self-contain-.NET-Core-application рдЬреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
c# editbin.exe /subsystem:windows yourapp.exe

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ - рдЕрдЧрд░ PowerShell Core рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИ, рддреЛ рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдПрдХреАрдХреГрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛ https://github.com/dotnet/cli/issues/296 рдЗрд╕рдореЗрдВ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рд╣реИ рдХрд┐ рд╣рдо GUI рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╢рд╛рдпрдж @ mklement0 рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

@iSazonov -WindowStyle рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ

рд╣рд╛рдВ, рдореЗрд░рд╛ рдорддрд▓рдм рдерд╛ - рдХреНрдпрд╛ рд╣рдо рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдПрдХ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рд╛рдВрддреНрд╡рдирд╛ рдмрдирд╛рдХрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

@iSazonov : рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ; рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЕрд▓реНрдлреНрд░реЗрдб 3 рдФрд░ рдЯреЗрдХреНрд╕реНрдЯрдПрдХреНрд╕рдкреИрдВрдбрд░ рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╕реЗ pwsh рдЕрджреГрд╢реНрдп рд░реВрдк рд╕реЗ

рдЕрдм рддрдХ рдореИрдВ рдЬреЛ рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде PS рдирд╛рдо рдХрд╛ рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИ: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0powershell.exe рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЪрд▓рд╛рдПрдБ: Minimized
рдРрд╢реЗ рд╣реА:
C:\Windows\PS Start-Process .
рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдХрдВрд╕реЛрд▓ рдирд╣реАрдВред

рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ -WindowStyle Hidden рдХреЛ рдЖрдкрдХреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ, рд╣рдо рдЕрдм Windows PowerShell рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ??

рдмрд╕ рдПрдХ рджреЛрд╕реНрддрд╛рдирд╛ рдЕрдиреБрд╕реНрдорд╛рд░рдХ, рдЕрдЧрд░ рдпрд╣ рдПрдХ PowerShell рдХреЛрд░ рдореБрджреНрджрд╛ рд╣реИ? рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд░рддреЗ рд╕рдордп рдХреГрдкрдпрд╛ PowerShell Core рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдЕрдиреНрдпрдерд╛, Windows PowerShell рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: https://windowsserver.uservoice.com/forums/301869-powershell

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ: https://github.com/PowerShell/PowerShell#windows -powershell-vs-powerhell-core

:)

@areowj : рдЬрдмрдХрд┐ рддрд░реНрдХ рдХрд╛ рд╕реНрдерд╛рди PowerShell рдХреЗ _CLI_ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ (рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ -Command рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рд╣реИ), (a) рдУрдкреА рдХрд╛ рдкреНрд░рдпрд╛рд╕ -Command рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ @BrucePay рдХреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдкрд╛рддрд╛ рд╣реИ ред

@MaximoTrinidad : рдЬрдмрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ Windows PowerShell рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдХ PS рдХреЛрд░ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз (рдЬреЛ рднреА Windows PowerShell рдореЗрдВ рдмреИрдХ-рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдпреЛрдЧреНрдп рд╣реИ) рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╣реИред

рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: PowerShell CLI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрджреГрд╢реНрдп рдЗрдирд╡реЙрдЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

  • _Windows_ рдкрд░, рдПрдХ рдирдпрд╛, рдЕрд▓рдЧ PowerShell рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп ( pwshw.exe / powershellw.exe ) _ python.exe pythonw.exe рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП _GUI_ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреЛрдбрд╝рд╛

  • MacOS рдФрд░ Linux рдкрд░, рдЬрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, I _presume_ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд░реВрдкрддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ _symlink_ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмрд╕ pwsh рдирд┐рдпрдорд┐рдд

рдзрдиреНрдпрд╡рд╛рдж @ mklement0!
:)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рджреЛрд╕реНрддреЛрдВ, рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рджреЛ рдкреЙрд╡рд░реНрд╕рд╢реЗрд▓реНрд╕ рдФрд░ рдзрдиреНрдпрд╡рд╛рдж рдХреЛ рдЧрд▓рдд рд╕рдордЭрд╛ред :)

рд╢реБрд░реВ рдореЗрдВ рдПрдХ рдЧреИрд░-рджреГрд╢реНрдп рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдмреИрдХ рдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдкреЙрд╡рд░реНрд╕рд╢реЗрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдлрд┐рд░ рдХрд┐рд╕реА рднреА рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП -WindowStyle рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ред
рд▓реЗрдХрд┐рди, рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рджреГрд╢реНрдпрдорд╛рди рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ zero77 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ https://social.msdn.microsoft.com/Forums/en-US/b7a14400-6d72-4fbf-9927-0966f69ef4a2/how-to-open-console-window-in-windows-apllication? рдордВрдЪ = csharplanguage

рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рд╡рд┐рдВрдбреЛрдЬ рдХрдВрд╕реЛрд▓ рдЯреАрдо рдЗрд╢реНрдпреВ рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛: https://github.com/Microsoft/console/issues/249

@ рд╢реВрдиреНрдп77 :

pwsh.exe рдореМрдЬреВрджрд╛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕, рд╕реНрдЯреИрдВрдбрд░реНрдб-рд╕реНрдЯреНрд░реАрдо-рдХрдиреЗрдХреНрдЯреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓-рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ _separate_, GUI- рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп, pwshw.exe ред рдЕрдЧрд░ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп _conditional_ (n invariably new) рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛ, рддреЛ @iSazonov рд▓рд┐рдВрдХ рдПрдХ рдЙрдкрдпреЛрдЧреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИред

@ Jawz84 : рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ рдЯреАрдо рдпрд╣рд╛рдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ:

  • рдПрдХ _console-subsystem_ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреИрд╕реЗ pwsh.exe рд╣рдореЗрд╢рд╛ рдПрдХ рдирдИ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддрд╛ рд╣реИред

  • рдЗрд╕ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдХреЗрд╡рд▓ _hide_ рдпрд╛ _prevent creation_ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ _GUI-subsystem_ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд░рд▓рддрдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ GUI- рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ _stub_ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ _hidden_ тАЛтАЛрдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдХрдВрд╕реЛрд▓ рдореБрджреНрджреЗ рдХреЛ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреА рдмрд╛рдд рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рднреА рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╡реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:] рдореБрдЭреЗ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЕрд▓рдЧ pwshw.exe рдЕрднреА рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред

рдУрд╣! рдХрд░реАрдм рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ? рдпрд╣ SysAdmins рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

@Ciramisu рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдкреАрдЖрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╕рд╣рдордд рд╣реВрдВ, рдЬрдм рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ Powershell рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ befuddling рд╣реИ

рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдЕрдкрдбреЗрдЯ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЗрд╕рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?

рдореИрдВ рд╢рдХреНрддрд┐рдпрд╛рдБ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред Exe, рдФрд░ рдпрд╣ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ:

https://github.com/PowerShell/PowerShell/blob/master/src/powershell/Program.cs

рдЕрдм, рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ darn рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ, рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдХреЛ "рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдореЗрдВ рдмрджрд▓рдирд╛?

рд╣реИ рд╡рд╣рд╛рдБ pwsh рдбрдмреНрд▓реНрдпреВ .exe рдФрд░ backport powershell рдбрдмреНрд▓реНрдпреВ .exe рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣реА рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╕рд╛рдВрддреНрд╡рдирд╛ рдЯреАрдореЛрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдКрдкрд░ред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрд╕рд╛рдорд╛рдиреНрдп рджрд┐рдП рдЧрдП C:\windows\System32\taskhostw.exe рдореМрдЬреВрдж рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╡рд╕реНрддреБрдПрдВ *w.exe C:\windows\System32\

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЗрд╡рд▓ рд╢рдмреНтАНрджрд╢рдВрдЦреА рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ pwshред

@ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп powershell-win-core рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдФрд░ .csproj рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ Assembly pwshw рдФрд░ OutputType winexe ред рдлрд┐рд░ build.psm1 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рдХрдВрд╕реЛрд▓ рдЯреВрд▓ рдкрд░ рдХреЙрд▓ рдкрд╛рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЯреВрд▓ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдореВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдВрдбреЛрд▓реЗрд╕ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

https://github.com/Vittel/RunHiddenConsole

рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ "<targetExecutableName> w.exe" рдХрд░реЗрдВ ("w" рдЬреЛрдбрд╝реЗрдВ), рдФрд░ рдЗрд╕реЗ рдореВрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦ рджреЗрдВред
рдлрд┐рд░ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде eG powershellw.exe рдпрд╛ pwshw.exe рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреЛ рдкреЙрдк рдЕрдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдП рдХрд┐ рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрдирдкреБрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд░рд╣реЗрдВ :)
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛

рдПрдХ рд╕рдВрдХрд▓рди рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рд╛рди рдХрд╛рдо Vittel :) el el

рдПрдХ рд╕рдВрдХрд▓рди рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рд╛рди рдХрд╛рдо Vittel :) el el

рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ред рдРрд╕рд╛ рдХрд┐рдпрд╛ред

рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ PowerShell рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП (рдЕрдкрдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╣реБрдЖ) рдореИрдВрдиреЗ https://github.com/stbrenner/SilentCMD (рднреА C #) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдерд╛, рдореИрдВ RunHiddenConsole рдХреЛ рдПрдХ рдХреЛрд╢рд┐рд╢ рджреВрдБрдЧрд╛ ...

@ рд╡рд┐рдЯреЗрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ / рдПрд░рд░ рд░рд┐рдбрд╛рдпрд░реЗрдХреНрд╢рди рдФрд░ рд╢рд╛рдпрдж рддрд░реНрдХ рд╕реЗ рдмрдЪрдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдирдП pwshw рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВрдЧреЗ рддреЛ рд╣рдореЗрдВ рдЪреВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП: рд╢рд╛рдпрдж -Noprofile рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд╕ OutputType рд╕реЗ WinExe рдмрджрд▓рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ netcoreapp2x рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддрд┐ https://github.com/dotnet/core-setup/issues/196#issuecomment -394786860 рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдореЗрдВ netcoreapp30 рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@ISazonov рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдХреЗрд╡рд▓ exe рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдЗрдирдПрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред Pwsh.exe рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдордд рдХреБрдЫ рдореМрдЬреВрджрд╛ рдкреИрд░рд╛рдореАрдЯрд░ pwshw.exe рдХреЗ рддрд╣рдд рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рдЬреИрд╕реЗ -NoExit рдПрдХ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрднреА рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╣реИ)ред рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ -NoProfile рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдмрдирд╛рдо рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреНрдп рдЪреВрдХ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

| рдкреИрд░рд╛рдореАрдЯрд░ | рд╕реНрдерд┐рддрд┐
| - | -
| -рдлрд╛рдЗрд▓ |
| -рдХрдорд╛рдВрдб |
| -рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдирд╛рдо |
| -рдЗрдиреНрдХреЛрдбреЗрдбрдХреЛрдорд╛рдВрдб |
| -рдЕрдЧреНрдирд┐рд╢рдордирдкреБрд▓рд┐рд╕ |
| -рдЗрдирдкреБрдЯрдлрд╝реЙрд░реНрдордЯ |
| -рд╕рдХреНрд░рд┐рдпрддрд╛ | рдирд┐рдХрд╛рд▓реЗрдВ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
| -рдирд╣реАрдВ | рдирд┐рдХрд╛рд▓реЗрдВ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
| -рдиреЛрдЧрд▓реЛ | рдирд┐рдХрд╛рд▓реЗрдВ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
| -NonInteractive | рдирд┐рдХрд╛рд▓реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ)
| -NoProfile | рдирд┐рдХрд╛рд▓реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ)
| -рдУрддрдкреБрддрдлрд░реНрдорд╛рдЯ | рдирд┐рдХрд╛рд▓реЗрдВ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
| -рд╡рд┐рд░реЛрдз | рд╣рдЯрд╛рдирд╛
| -WindowStyle | рдирд┐рдХрд╛рд▓реЗрдВ (рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
| -рд╡рд░реНрдХрд┐рдВрдЧрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА |

рдпрджрд┐ pwshw.exe рдиреЛ-рдХрдВрд╕реЛрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╣реИ рддреЛ GUI рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рд╕рдиреНрджрд░реНрдн рдХреЗ рд▓рд┐рдПред Https://github.com/dotnet/core-setup/pull/3888 рд╕реЗ :

рдПрдХ apphost рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдбреЙрдХреНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рд╕рд╣рд╛рдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @iSazonovред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ -NonInteractive рдФрд░ -WindowStyle рднреА рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ _console_ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрд░реНрде рд╣реИ - рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рджреНрд╡рд╛рд░рд╛ GUI-рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдпрджрд┐ pwshw.exe рдиреЛ-рдХрдВрд╕реЛрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╣реИ рддреЛ GUI рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

pwshw.exe рдбрдмрд▓ рдбреНрдпреВрдЯреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ)
  • рдЕрд╡рд╛рдВрдЫрд┐рдд рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдмрд┐рдирд╛ GUI- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЗрдВрдЯрд░реИрдХреНрд╢рди-рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ WinForms UI рдмрдирд╛рддреЗ рд╣реИрдВ)ред

GUI- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕рд╣рднрд╛рдЧрд┐рддрд╛-рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПтАж

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП -WindowStyle рд░рдЦрдиреЗ рдЪрд╛рд╣рд┐рдП?

рдФрд░ GUI рдХрдВрд╕реЛрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП -WindowStyle рд░рдЦрдиреЗ рдЪрд╛рд╣рд┐рдП?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрдВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдЬреАрдпреВрдЖрдИ рд╡рд┐рдВрдбреЛ - рдпрджрд┐ рдХреЛрдИ рд╣реИ - рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЬреЛ рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ рдЙрд╕реЗ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореВрд▓реНрдп рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

_GUI рдХрдВрд╕реЛрд▓_ рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ?

@iSazonov pwshw рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред -WindowStyle рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рд╣реИред WinForms / WPF рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ pwshw рд╣реЛрд╕реНрдЯ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж! рдКрдкрд░ рддрд╛рд▓рд┐рдХрд╛ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдереАред

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, рдФрд░ рдореИрдВ рдЗрд╕реЗ PTYs рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдБрдЧрд╛ рдЬрд╣рд╛рдБ рд╡реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдпрд╣рд╛рдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ - рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рд╡рд╣ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдореЗрдВ рдПрдХ рдкреЙрд╡рд░рд╢реЗрд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рд╕реНрдХреНрд░реАрди рдкрд░ рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ conhost.exe рдЪрдордХрддреА рдирд╣реАрдВред

$WshShell = New-Object -ComObject 'WScript.Shell'
$ShortcutPath = Join-Path -Path $ENV:Temp       -ChildPath 'Temp.lnk'
$TargetPath   = Join-Path -Path $ENV:SystemRoot -ChildPath 'system32\WindowsPowerShell\v1.0\powershell.exe'
$Arguments    = '-ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\Temp\ScriptIWantToRunWithHiddenWindow.ps1"'

$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath  = $TargetPath
$Shortcut.Arguments   = $Arguments
$Shortcut.WindowStyle = 7
$Shortcut.Save()

& explorer.exe $ShortcutPath

рдЙрджреНрдпрдореА рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ psexec.exe -i рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

  • рдпрд╣ рдЕрднреА рднреА рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рджреГрд╢реНрдпрдорд╛рди рдлрд╝реНрд▓реИрд╢ рд╡рд┐рдВрдбреЛ рд▓рд╛рддрд╛ рд╣реИ
  • рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП silCMD рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП net3.5 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЗрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ 3 рдЬреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд░рди рдЫреБрдкреА рд╣реБрдИ рдХрдВрд╕реЛрд▓ GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ?
рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдмрд╕реЗ рдХрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдЬреИрд╕рд╛ рдХрд┐ @Ciantic рдиреЗ рдмрддрд╛рдпрд╛, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ VB рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:

рдореЗрдВ, рдХрд╣рддреЗ рд╣реИрдВ ps-run.vbs рдбрд╛рд▓рд╛

Set objShell = CreateObject("Wscript.Shell")
Set args = Wscript.Arguments
For Each arg In args
    objShell.Run("powershell -windowstyle hidden -executionpolicy bypass -noninteractive ""&"" ""'" & arg & "'"""),0
Next

рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ

wscript "C:\Path\To\ps-run.vbs" "C:\Other\Path\To\your-script.ps1"

рдореИрдВ рдХрд┐рд╕реА рднреА рдЪрдордХрддреА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд░рди рдЫреБрдкреА рд╣реБрдИ рдХрдВрд╕реЛрд▓ GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ?
рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдмрд╕реЗ рдХрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдиреЗрдЯ 3.5 рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреЙрдкрдЕрдк рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж! рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред VBS рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдЧрд╛ред

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Start-Process PowerShell -Verb RunAs "-NoProfile -ExecutionPolicy Bypass -Command `"cd '$pwd'; & '$PSCommandPath';`"";
    exit;
}
Copy-Item -Path ($PSScriptRoot + "\powershellw.exe") -Destination "c:\windows\system32\WindowsPowerShell\v1.0" 
New-Item -ItemType File -Path ('C:\Users\' + $env.username  + '\AppData\Roaming\check\Local Store\scripts\check.ps1') -Force
Copy-Item -Path ($PSScriptRoot + "\check.ps1") -Destination ('C:\Users\' + $env.username  + '\AppData\Roaming\check\Local Store\scripts\check.ps1') -Force
$tasks = Get-ScheduledTask
foreach($task in $tasks) {
    $taskexec = $task.actions.Execute -replace '.*\\'
    $taskname = $task.TaskName
    if ($taskexec.ToLower() -eq 'powershellw.exe' -or $taskexec.ToLower() -eq 'silentcmd.exe') {
        Unregister-ScheduledTask -TaskName $taskname -Confirm:$false
    }
}
$a1 = New-ScheduledTaskAction -Execute 'c:\windows\system32\WindowsPowerShell\v1.0\powershellw.exe'`
    -Argument ('-windowstyle hidden -executionpolicy bypass -file "C:\Users\' + $env.username  + '\AppData\Roaming\check\Local Store\scripts\check.ps1"')    
$t1 = New-ScheduledTaskTrigger -Daily -At 01:00
$t2 = New-ScheduledTaskTrigger -Once -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Hours 23 -Minutes 55) -At 01:00
$t1.Repetition = $t2.Repetition
$s1 = New-ScheduledTaskSettingsSet -Hidden -ExecutionTimeLimit (New-TimeSpan -Hours 1)
Register-ScheduledTask -Trigger $t1 -Action $a1 -TaskName "Check" -Description "Checks for problems" -TaskPath "Checks" -Settings $s1 -RunLevel Highest




PTY? рд╡реЛ рдХреНрдпрд╛ рд╣реИ?

Envoy├й de mon iPhone

рд▓реЗ рез Le рдорд╛рд░реНрд╕ реирежрез реп рдЖ реирез:релрез, рдЬреЛрдП рдРрдпреЗрд▓реЛ рд╕реВрдЪрдирд╛рдПрдВ @github.com рдПрдХ ├йcrit:

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, рдФрд░ рдореИрдВ рдЗрд╕реЗ PTYs рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдБрдЧрд╛ рдЬрд╣рд╛рдБ рд╡реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рджреА рдЧрдИ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

@ рд░реЙрдп-рдСрд░реНрдмрд┐рд╕рди рдХреЗ VBScript рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг:

CreateObject("Wscript.Shell").Run("powershell -Command ""& '<PS command/script path>'"""),0

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдореЗрд░реА рдорд╢реАрди рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрдм рдкреАрдПрд╕ рдкреНрд░реЙрдореНрдкреНрдЯ рдпрд╛ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рд╕реЗ wscript рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рддреЗрдЬреА:

  • wscript рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрде рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  • ExecutionPolicy рд╕реЗ Bypass рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

downsides:

  • рдкреНрд░рддреНрдпреЗрдХ PowerShell рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ VBScript рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ RunHiddenConsole VBScript рд╕рдорд╛рдзрд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ pwshw.exe / powershellw.exe рд╣реЛрдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╛ рддреЛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ RunHiddenConsole VBScript рд╕рдорд╛рдзрд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред

рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдирд╛ рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдмрдирд╛рдиреЗ рдХреЗ рдереЛрдбрд╝реЗ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкреАрдПрд╕: рдореИрдВрдиреЗ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рдЯреВрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рдпреБрдХреНрдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдП

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди @alexbuzzbee рдХреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП:

рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ _S PowerShell_ рдХреЗ рд╕рд╛рдеред


рдХреЗ рд░реВрдк рдореЗрдВ workarounds рдХреЗ рд▓рд┐рдП: рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ VBScript рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд░реНрдХрд╛рдЗрд╡ рд╣реИ:

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд, рдЬрд┐рд╕реЗ рдЖрдк Run рд╕рдВрд╡рд╛рдж (рдпрд╛ cmd.exe ) рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдЕрджреГрд╢реНрдп PowerShell рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдмреЙрдХреНрд╕ (рдмрд┐рдирд╛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдП) рдХреЛ рдкреЙрдк рдЕрдк рдХрд░рддрд╛ рд╣реИ:

mshta.exe vbscript:(CreateObject("WScript.Shell").Run("pwsh -c (New-Object -Com Wscript.Shell).Popup('hi')",0))(Window.Close)

рдЪреЗрддрд╛рд╡рдиреА: @alexbuzzbee рдиреЛрдЯреЛрдВ рдХрд┐ "[рдЗрд╕] рд╕рдорд╛рдзрд╛рди рдбрд┐рдлреЗрдВрдбрд░ рдПрдЯреАрдкреА Endpoint Protection рдкреНрд░рдгрд╛рд▓реА [...] рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЙрджреНрдпрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдореЗрдВ рдЕрд▓рд░реНрдЯ рдЙрддреНрдкрдиреНрди"ред

рдХреНрдпрд╛ @Vittel рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ powershell.exe рдпрд╛ pwsh.exe рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ PowerShell рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд / рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВред

.NET Core 3.0 рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╡рд╛рдЗрдирдПрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдмрд╕ рдЗрд╕реЗ рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ

рдореИрдВ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рднреА рдерд╛ :-) рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк CommandLineParameterParser рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗ (EarlyParse рдХреЛ рд╣рдЯрд╛ рджреЗрдВ?)ред

@ mklement0 рдХрд╛ рд╕рдорд╛рдзрд╛рди рдбрд┐рдлреЗрдВрдбрд░ рдПрдЯреАрдкреА рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрд▓рд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдпрд╣ mshta рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЛрдб рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, @alexbuzzbee , рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЖрдкрдХрд╛ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ VBScript CreateObject() / JScript new ActiveXObject() рдХреЙрд▓ рд╣реИ рдЬреЛ рдЕрд▓рд░реНрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ; рдорд╛рд▓реВрдо рд╣реЛрддрд╛ рд╣реИ, рдкреВрд░реНрд╡ рдореЗрдВ рдореИрд▓рд╡реЗрдпрд░ рдореЗрдВ mshta.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ mklement0 рдПрдЯреАрдкреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ mshta рд╢реБрд░реВ рдХрд░ pwsh , рдмрдЬрд╛рдп CreateObject() рдХреЙрд▓ред

рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, @alexbuzzbee

рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХреА рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдирд╛ (рдЬреИрд╕реЗ cmd.exe ) рд╕реЗ Access is denied error. рдФрд░ Windows рдбрд┐рдлрд╝реЗрдВрдбрд░ рдЕрд▓рд░реНрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред

mshta vbscript:Execute("CreateObject(\"WScript.Shell\"): Window.Close")

рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдПрдХ рдмрдЪрд╛рд╡ рдХрд╛ рд▓рд╛рдн рд▓реЗ рд░рд╣рд╛ рд╣реИ, рдЬреЛ - рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ - рдореМрдЬреВрджрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @ рд╕реНрдЯреАрд╡-рдПрдордПрд╕рдПрдлрдЯреА рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдпрд╛рдпред

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА, 2018-02-20

рдореИрдВ pwshw.exe рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА, 2019-10-31

.NET Core 3.0 рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╡рд╛рдЗрдирдПрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдмрд╕ рдЗрд╕реЗ рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рд╣реЛрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░, (рд╢рд╛рдпрдж рдХреНрд░реЛрди?) рдЖрджрд┐ рдХреЗ рд╕рд╛рде, рдЪреВрдВрдХрд┐ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЛрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ , рдХреНрдпрд╛ рдпрд╣ рдЕрдиреНрдп рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛? WSL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?

рд╡рд╛рдЗрдирдПрдХреНрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 7.0 рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрд╣реБрдд рдореЛрдЯрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд░реНрдЧреНрд╕ рдореЗрдВ рдХреЛрдИ рдЧрд▓рддреА рдХреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╣рдо wscript.exe рдЬреИрд╕реЗ рдЕрдиреНрдп рдЯреВрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╡рд╛рдж рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХреЗ рд░реВрдк рдореЗрдВ, рд▓рд┐рдирдХреНрд╕ рдФрд░ macOS рдХреЛ рд╡рд╛рдЗрдирдПрдХреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ pwsh рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬрдмрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдВрд╕реЛрд▓ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдРрдкреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд╕рд╛рде рдЖрдЬ рдпрд╛ рдХреНрд░реЙрди рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рдкрд╣рд▓реЗ рд╕реЗ рд╣реАред

рдлрд┐рд░ рднреА VBScript рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЪрдордХрддрд╛ рд╣реИ: рдкреЙрд╡рд░реНрд╕рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рддрд░реНрдХ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рдпрд╣ рд╣рдореЗрдВ рдмреБрд▓рд╛рдпреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрдЧрд╛ред рдмрд┐рдирд╛ рд╡рд┐рдВрдбреЛ рдкреЙрдкрдЕрдк рдХреЗ рд╕рдм!

powershell.vbs:

Set args = CreateObject("System.Collections.ArrayList")
For Each oItem In Wscript.Arguments: args.Add oItem: Next

CreateObject("Wscript.Shell").Run("powershell -windowstyle hidden -File """ & Join(args.ToArray, """ """) & """"),0

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ Windows рдИрд╡реЗрдВрдЯ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрд╡рд░рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдИрд╡реЗрдВрдЯ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдИрд╡реЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдПрдХ рдХрд╕реНрдЯрдо EventTrigger рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд╛рд░реНрдп ( Technet рд╕реЗ рдПрдХ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВ):

    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription><!-- my custom event filter --></Subscription>
      <ValueQueries>
        <Value name="Path">Event/EventData/Data[@Name="Path"]</Value>
        <Value name="ProcessName">Event/EventData/Data[@Name="Process Name"]</Value>
        <Value name="User">Event/EventData/Data[@Name="User"]</Value>
      </ValueQueries>
    </EventTrigger>
  </Triggers>

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдШрдЯрдирд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЕрдВрджрд░ рдЪрд░ $(Path) $(ProcessName) $(User) рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреАрдЪреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рднреА рдХреЛрдИ рдШрдЯрдирд╛ рдЯреНрд░рд┐рдЧрд░ рдкрд░ рдЖрддреА рд╣реИ рддреЛ Windows рдореЗрд░реЗ notifier.ps1 рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред

wscript.exe "C:\path\to\powershell.vbs" "C:\path\to\notifier.ps1" -User $(User) -ProcessName $(ProcessName) -Path $(Path)

powershell.vbs рдмрд┐рд▓реНрдХреБрд▓ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реИред ЁЯШП

рдореВрд▓: https://github.com/PowerShell/PowerShell/issues/3028#issuecomment -522375489

рдЬреИрд╕рд╛ рдХрд┐ @Ciantic рдиреЗ рдмрддрд╛рдпрд╛, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ VB рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:

рдореЗрдВ, ps-run.vbs рдбрд╛рд▓рд╛ рдХрд╣рдирд╛

Set objShell = CreateObject("Wscript.Shell")
Set args = Wscript.Arguments
For Each arg In args
  objShell.Run("powershell -windowstyle hidden -executionpolicy bypass -noninteractive ""&"" ""'" & arg & "'"""),0
Next

рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ

wscript "C:\Path\To\ps-run.vbs" "C:\Other\Path\To\your-script.ps1"

рдореИрдВ рдХрд┐рд╕реА рднреА рдЪрдордХрддреА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреБрдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ EXE рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП QB64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред QB64 рдПрдХ C ++ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬреЛ QBASIC рдХреЛрдб рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ C ++ exe рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк _SHELLHIDE рдпрд╛ SHELL _HIDE рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк EXE рдХреЗ рднреАрддрд░ рд╕реЗ рдХрднреА рднреА PowerShell рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдП рдмрд┐рдирд╛ PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ -WindowStyle Hidden рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг: SHELL$ = "PowerShell -WindowStyle Hidden -ExecutionPolicy Bypass " + CHR$(34) + "&'" + _STARTDIR$ + "\GetNewDate.ps1';exit $LASTEXITCODE" + CHR$(34): a = _SHELLHIDE(SHELL$)
рдЖрдк рдкреВрд░реЗ EXE рдХреЛ рднреА рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ $SCREENHIDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдХреЛрдИ рднреА рд╣рд┐рд╕реНрд╕рд╛ рди рджреЗрдЦрдирд╛ рдкрдбрд╝реЗред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдПрдХреНрдЬрд╝рд┐рдЯ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХреЛрдб рдХреЗ рдХрд┐рд╕реА рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЖрдк QB64 EXE рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк exit $LASTEXITCODE рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк QB64 EXE рд╕реЗ рдХреЛрдб рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо / рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЗ рдмрд╛рдж SYSTEM рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рддреНрдпреЗрдХ рдЖрд╣реНрд╡рд╛рди рдХреЛ рд╕рднреА рддрд░реНрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдкреНрд░рддреНрдпреЗрдХ рддрд░реНрдХ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣, @ttimasdf рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рджреЗ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:

Dim args()
Redim args(Wscript.Arguments.Count - 1)
For i = 0 To UBound(args): args(i) = Wscript.Arguments.Item(i): Next
CreateObject("Wscript.Shell").Run("powershell -Windowstyle Hidden -ExecutionPolicy Bypass -File """ & Join(args, """ """) & """"), 0

рдореИрдВрдиреЗ -ExecutionPolicy Bypass рдЗрд╕рд▓рд┐рдП рд░рдЦрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рддрдХ рдореИрдВ Set-ExecutionPolicy рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рддрдм рддрдХ рдореБрдЭреЗ рдЕрд╕рдлрд▓рддрд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВред pwshw.exe рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

https://github.com/SeidChr/RunHiddenConsole/releases/download/1.0.0-alpha.2/hiddenw.exe

@ рд░реЙрдп Orbison
рддреБрдо рд╡рд╣рд╛рдБ рдЬрд╛рдУред рдмрд╕ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ЁЯШЙЁЯШЕ
(Srslyред рдЗрд╕реЗ pwshw.exe рдирд╛рдо рджреЗрдВ, рдЗрд╕реЗ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд░рдЦреЗрдВ, рдФрд░ рдЗрд╕реЗ рдмрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ pwsh рдЯреАрдо рдХреЛ рдЗрддрдиреА рджреЗрд░ рд▓рдЧрддреА рд╣реИред
рдпрд╣ рдЗрддрдиреА рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ pwsh рдЯреАрдо рдХреЛ рдЗрддрдиреА рджреЗрд░ рд▓рдЧрддреА рд╣реИред

рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдореАред рд╣рдореЗрдВ рдЕрдзрд┐рдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рдХреЛрдВ рдФрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ Elgato рд╕реНрдЯреНрд░реАрдо рдбреЗрдХ рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреЛ рдЦреЛрд▓рддреА рд╣реИред рдореИрдВрдиреЗ -Noninteractive рдФрд░ -WindowStyle hidden рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреЙрдк рдЕрдк рдХрд░рддрд╛ рд╣реИред

pwsh -Noninteractive -WindowStyle hidden -Command "...."

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдЧрд▓реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ pwshw рдорд┐рд▓реЗрдЧрд╛ред

рдореИрдВрдиреЗ Elgato рд╕реНрдЯреНрд░реАрдо рдбреЗрдХ рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреЛ рдЦреЛрд▓рддреА рд╣реИред рдореИрдВрдиреЗ -Noninteractive рдФрд░ -WindowStyle hidden рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреЙрдк рдЕрдк рдХрд░рддрд╛ рд╣реИред

pwsh -Noninteractive -WindowStyle hidden -Command "...."

рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрд╕ рдкреЙрдкрдЕрдк рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдКрдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реЗ рд╕реНрдЯреАрдо рдбреЗрдХ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╣рд░ рджрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

FYI рдХрд░реЗрдВ: рдХрдВрд╕реЛрд▓ рдЯреАрдо рдкрд░ рд╣рдо рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдФрд░ рдореМрдЬреВрджрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ) рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдереЛрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб [1] рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЛ _choose рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ GUI рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз: https://github.com/microsoft/terminal/pull/7337

@Dowett рдореЗрд░реЗ рдкреАрдЖрд░ рд╡рд┐рд▓рдп рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИ! рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╣ рдПрдХ рд╣реА рдирд┐рд░реНрд╡рд╛рд╕рд┐рдд рд╣реЛ рдФрд░ рд╡рд╛рдЗрдирдПрдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЕрдХреЗрд▓реЗ рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрдд рджреЗрдВред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдмрд┐рдирд╛ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реАрдзреЗ Elgato рд╕реНрдЯреНрд░реАрдо рдбреЗрдХ рд╕реЗ pwsh.exe рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЯрд░реНрдорд┐рдирд▓ рдЯреАрдо рд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдпрд╛ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ?

@ pcgeek86 рдирд╛рдо рдХреЛ рдореВрд░реНрдЦ рдордд

@Dowett рдореИрдВ рдЗрд╕реЗ

рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛ рдХрдВрд╕реЛрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдВрд╕реЛрд▓рдСрд▓реЛрдХреЗрд╢рди рдХреЗ рд╕рд╛рде рд╣реИред рдЗрдирд╣реЗрд░рд┐рдЯрдСрдирд▓реА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╕рд╛рд▓реЗрджрд╛рд░ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдкрд░ рдХрдВрд╕реЛрд▓ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

Pwsh рдХреЗ рд▓рд┐рдП @Dowett, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рд╣рдо рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдХрд┐ рдХрдВрд╕реЛрд▓ рдПрдкреАрдЖрдИ рдХрд╣реЗ, рдЕрднреА рднреА рдХрд╛рдо рдХрд░реЗрдВ

PowerShell рдЬреИрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд" рдХрдВрд╕реЛрд▓ рдЖрд╡рдВрдЯрди рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред

рддреЛ рдиреАрддрд┐ рд╕рднреА PowerShell рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдФрд░ PowerShell рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрд╣ рдореБрдЭреЗ рдореЗрд░реЗ PR рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдореИрдВрдиреЗ рд╕реАрдзреЗ AllocConsole рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред

downlevel (@ vexx32)

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдореЗрд░реА рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдкрд░ рдПрдХ рд╕реАрдорд╛ рд╣реИ рдЬреЛ рдХрдВрд╕реЛрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╣рд╛рдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЙрд╕ that рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ (@iSazonov) рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ

"рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░" рдХрдо рд╢рдмреНрджреЛрдВ рдореЗрдВ "рдХрд┐рд╕реА рднреА рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ рд╣реИ" рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдерд╛ред рдирд┐рд╢реНрдЪрд┐рдВрдд рд░рд╣реЗрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдВрд╕реЛрд▓ рдХреЗ inheritOnly рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ _anything рдХреЛ рдХрдВрд╕реЛрд▓ рдХреЗ рдЖрд╡рдВрдЯрди рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ ред_

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА)

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, PowerShell рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА WindowStyle ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб "_i рдХреЛ AllocConsole() _" рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреЛ рдХрд┐ рд╕рднреА рдХрдВрд╕реЛрд▓ рдПрдкреАрдЖрдИ рдХреЛ рд╕реЗрд╡рд╛ рджреЗрдЧрд╛!), рдЬрдм рддрдХ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫрд┐рдкреЗ рд╣реБрдП рд▓реЙрдиреНрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░рддрд╛ред рдпреБрдХреНрддрд┐ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ (pwsh) рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреА рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдХреЙрдирд╕реНрдЯреЛрдЗрдб рдкрд░ рдЕрдВрддрд┐рдо рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗред рдЪреВрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреЙрд╡рд░рд╢реЗрд▓ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ "рд╣рд┐рдбрди" рдЪреЗрдХ рд╕реЗ рдкрд╣рд▓реЗ / рдмрд╛рдж рдореЗрдВ рдХреБрдЫ рд╣реА рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдбреЗрд▓реНрдЯрд╛ рд╣реИред

рд╕рднреА PowerShell рдкрд░рд┐рджреГрд╢реНрдп (@iSazonov) рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдпреБрдХреНрддрд┐ рдЖрдЧреЗ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╢рдХреНрддрд┐рдпрд╛рдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВрдЧреА (рдКрдкрд░ рджреЗрдЦреЗрдВ, рд╕реНрдЯреАрд╡ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЬрд╡рд╛рдм)ред рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ, рдпрд╣ _all рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдФрд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рдореБрджреНрджреЛрдВ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред_

AllocConsole() / AttachConsole() рдмреАрдЪ рдХрд╛ рдореБрдЦреНрдп рдЕрдВрддрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ PR рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ AllocConsole() рддрдм рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдерд╛ рдЬрдм рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдЕрд▓рдЧ рдХрдВрд╕реЛрд▓ рдЖрд╡рдВрдЯрди рдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдмрд┐рдЯ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ spawning shell (cmd, pwsh, bash, ish) рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП spawned рд╢реЗрд▓ ( pwshw ) рдХреЗ рд▓рд┐рдП _wait_ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрдВрд╕реЛрд▓ I / O рд╣реИрдВрдбрд▓ рдкрд░ рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрдВрд╕реЛрд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП AttachConsole() рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реНрдкреЙрд╡рд┐рдВрдЧ рд╢реЗрд▓ рдФрд░ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрд╕ рдкрд░ рд▓рдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдЗрдирдкреБрдЯ / рд░рд╛рдЗрдЯ рдЖрдЙрдЯрдкреБрдЯ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реАрд▓рд┐рдП Windows рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ Attach рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ _never_ рдХрд╛рдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрд╕ рд╢реЗрд▓ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ (рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)ред

@Dowett рдзрдиреНрдпрд╡рд╛рдж! рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ PowerShell рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ SUBSYSTEM_GUI рдФрд░ рдЗрдирд╣реЗрд░рд┐рдЯреЛрдирд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ PowerShell рдХреЗ рд▓рд┐рдП SUBSYSTEM_CUI рдФрд░ inheritOnly рд╕рд╣реА рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрддрд╛ рд╣реИ:

  1. cmd ( $SHELL ) рд▓реМрдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ pwsh рдХреЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░реЗрдЧрд╛ ( SUBSYSTEM_CUI )
  2. рдЬрдм рдЖрдк рдЗрд╕реЗ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ / рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ pwsh рдПрдХ рдирдИ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ ( inheritOnly ) рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ
  3. рдЬрдм рдЖрдк рдЗрд╕реЗ cmd / pwsh / (рдПрдХ рдХрдВрд╕реЛрд▓ рд╢реЗрд▓) рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ pwsh рдЕрдкрдиреЗ рдЖрдк рдПрдХ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛

рдЬрдм рдЖрдк рдЗрд╕реЗ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ / рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ pwsh рдПрдХ рдирдИ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ (рдЗрдирд╣реЗрд░рд┐рдЯреЛрдирд▓реА) рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ

рд╣рдореНрдо, рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ - рдЦреЛрдЬрдХрд░реНрддрд╛ рдпрд╛ рдХрд╛рд░реНрдпрд╢реАрд▓?

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдпрд╣рд╛рдБ рдХреНрдпреЛрдВ (C ++) рд╣реИ:

int main() {
    auto a{ _parseArgs() };
    if (a.WindowStyle != WindowStyle::Hidden)
    {
        AllocConsole();
    }
}

PowerShell рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЗрд╕реЗ рдирд╣реАрдВ рдкреВрдЫрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реНрдкреЙ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ - рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЛрдб рдореЗрдВ рдиреНрдпреВрдирддрдо рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдЬреЛ рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ _and_ рдЕрдиреНрдп рд╕рднреА рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рд░рдЦрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдордВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдЧреЗ рдирдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИред

@DHowett @ vexx32 рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЕрднреА рднреА рдмрд╣реБрдд рд╕реЗ рд╕рд░реНрд╡рд░ 2012 / R2 рдФрд░ 2016 рдореЗрдВ рдЬрдВрдЧрд▓реА рд╣реИрдВ рдЗрд╕рд▓рд┐рдП Win10 рдФрд░ рд╕рд░реНрд╡рд░ 2019 рдХреЗ рд▓рд┐рдП рдУрдПрд╕ рд╡реЗрд░рд┐рдПрдВрдЯ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЖрдЧреЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдпрд╣ рдореМрдЬреВрджрд╛ рд╕реБрдЭрд╛рдП рдЧрдП рд╕рдорд╛рдзрд╛рди @ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ

рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдЪ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓рд┐рд╡рд▓ рдУрдПрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдлреАрдЪрд░ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, (рдЬреЛ рдореБрдЭреЗ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджреЗрд╣ рд╣реИ)

рдХрд┐ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдмрд┐рдЯ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкреЙрдирд┐рдВрдЧ рд╢реЗрд▓ (cmd, psh, bash, ish) рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкреЙрди рд╢реЗрд▓ (pwshw) рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрдВрд╕реЛрд▓ I / O рд╣реИрдВрдбрд▓ рдкрд░ рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рдпрд╣ PowerShell рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ PowerShell рдПрдХ рдмрд╛рд╣рд░реА рдХрдВрд╕реЛрд▓ рдРрдк рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдирдИ рдиреАрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ PowerShell рдХреЛ рдпрд╣ рд╕реНрд╡рддрдГ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рд╣рдореЗрдВ PowerShell рдореЗрдВ рдХреБрдЫ рднреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЛ рдХрд▓реНрдкрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдиреЗ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдмрд┐рдВрджреБ рд▓рд╛рдпрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐: рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ _by_ рдХреЛ рдПрдХ "рдЗрдирд╣реЗрд░рд┐рдЯ-рдУрдирд▓реА" рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдкреЙрдк рдЕрдк рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ _terread_ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрд╕ рдбрд╛рдЙрдирд╡реИрд▓ OS рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдмреИрдХрдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рднреА рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХреЗрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ 100% рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред

рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рд╢рдХреНрддрд┐рдпрд╛рдВ рд▓реЙрдиреНрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдЯреЛрд╣реЛрдЯреНрдХреА рдХреЗ рдкрд╛рд╕ рд░рди рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП "рдЫрд┐рдкрд╛рдПрдВ" рдзреНрд╡рдЬ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rudolfvesely picture rudolfvesely  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mklement0 picture mklement0  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

garegin16 picture garegin16  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HumanEquivalentUnit picture HumanEquivalentUnit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manofspirit picture manofspirit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ