PowerShellのジョブのバックグラウンド実行したい。Start-Jobめんどくさい。Linuxみたく、演算子"&“みたいにできないのか。
インストール済みのPowerShellバージョン。
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 | > $PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.19041.1023
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1023
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
 | 
どうも、PowerShellバージョン6.0からジョブの実行にBackground演算子&が使える様になったみたい。
(Background演算子 &)
https://github.com/PowerShell/PowerShell/releases
から最新の安定版をインストール。
複数バージョンインストール可能みたい。
バージョンアップしたPowerShellを起動。
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
 | > $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
 | 
やってみた。
| 1
2
3
4
5
 | > Get-Process -Name pwsh &
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Running       True            localhost            Microsoft.PowerShell.Man…
 | 
これは、
| 1
 | > Start-Job -ScriptBlock {Get-Process -Name pwsh}
 | 
と等価。
めっちゃ楽になった。