CLIからHyper-VVMに接続する方法を知っています。
vmconnect localhost 'machine'
私はそれらを非対話的に開始する方法も知っています、私はこのようなショートカットを介してこれを行います:
powershell.exe -ExecutionPolicy Bypass -Command "& {Start-VM -Name 'machine'}"
しかし、この2つのアクションをショートカットで組み合わせるにはどうすればよいでしょうか。 Hyper-Vコンソールをまったく開きたくありません。私はこれを試しましたが、うまくいきませんでした:
powershell.exe -ExecutionPolicy Bypass -Command "& {Start-VM -Name 'machine' & vmconnect localhost 'machine'}"
それは投げます:
At line:1 char:36
+ & {Start-VM -Name 'machine' & vmconnect localhost 'machine ...
+ ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks ("&") to pass it as part of a string.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : AmpersandNotAllowed
さらに、私が思うに、起動してから接続するまでの時間間隔を待つ必要があります。そのようなコマンドの即時シーケンスは正常に実行されないためです。
不足していることが2つあります。VMを開始する前にHyper-Vモジュールをインポートする必要があり、&
はコマンドセパレータではなく呼び出し演算子です。
powershell.exe -ExecutionPolicy Bypass -Command "ipmo hyper-v; Start-VM machine; vmconnect localhost machine"
私はWindows101703で上記の動作をテストしました。