WSL: Store版WSL2がタスクスケジューラから起動しない
次のようなスクリプトをタスクスケジューラに登録して
起動しようとすると起動しません。
$wsl = "C:\Windows\System32\wsl.exe" echo "$wsl sudo /etc/init.d/ssh restart" | Invoke-Expression
WSLのバージョンによって挙動が変わるみたいです。
- Store版じゃないWSLは、問題なく動くらしい
- 9月の更新で動くようになる模様
リリースされたそうなので、wslをupdate
> wsl --update --pre-release
フルパス指定する旨が書かれているので、それに従う
$wsl = "C:\Program Files\WSL\wsl.exe" echo "& `"$wsl`" sudo /etc/init.d/ssh restart" | Invoke-Expression
パスに空白が含まれる場合は&
を入れてcallとするそうです。
quoteの抑止は ` でやるそうです。
PowerShellは、いちいちわかりません...
コメント
Comments powered by Disqus