ついでに言えば、なぜコマンドプロンプトからの実行が必要なのでしょう?
PowerShell で実行すれば良いだけでは?
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
PowerShellのStop-VMコマンドを複数の仮想マシンに対して同時に実行したいのですが、どなたかご教示いただけないでしょうか。
Stop-VM Name <仮想マシン1> -Force
Stop-VM Name <仮想マシン2> -Force
Stop-VM Name <仮想マシン3> -Force
とした場合、仮想マシン1から順番にシャットダウンされ、時間を要してしまいます。
尚、下記でも目的は達成できたのですが、コマンドプロンプトから実行すると -AsJob の部分が反映されず順番にシャットダウンされます。。。
Get-VM | Where-Object {$_.Name -like "*WAP*"} | Stop-VM -Force -AsJob
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
ついでに言えば、なぜコマンドプロンプトからの実行が必要なのでしょう?
PowerShell で実行すれば良いだけでは?
こうなのかな?
powershell -Command "&{Start-Job -ScriptBlock {Stop-VM PC1 -Force}}"
色々なパターンで試してみた方が良いかも。
PowerShell で
Start-Job -ScriptBlock {Stop-VM PC1 -Force}
でバックグラウンドジョブとして Stop-VM が実行できたということですか?
そして
コマンドプロンプトだと起動しません。とはコマンドプロンプトで
powershell -Command Start-Job -ScriptBlock {Stop-VM PC1 -Force}
では実行できないということですか?
⇒ご丁寧にありがとうございます。ご認識のとおりです。
コマンドもありがとうございます。
powershell -Command "Start-Job -ScriptBlock &{Stop-VM PC1 -Force}"
を実行してみたとろ下記となりました。
発生場所 行:1 文字:34
~
アンパサンド (&) 文字は許可されていません。& 演算子は、今後使用するために予約されています。アンパサンドを二重引用符で囲
み ("&")、文字列の一部として渡してください。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : AmpersandNotAllowed
仮想マシンPC1、PC2、PC3があり、この3台を並列でシャットダウンする、且つコマンドプロンプトから行いたい。
というのが目的なのですが中々うまくいきません。。。
状況が今一つよく分からないのですが、
> Powerhelllで実行はできたのですが
というのは PowerShell で
Start-Job -ScriptBlock {Stop-VM PC1 -Force}
でバックグラウンドジョブとして Stop-VM が実行できたということですか?
そして
> コマンドプロンプトだと起動しません。
とはコマンドプロンプトで
powershell -Command Start-Job -ScriptBlock {Stop-VM PC1 -Force}
では実行できないということですか? ※このコマンドは期待(VM を停止する)通りには実行されないと思いますが。
about_PowerShell_exe - PowerShell | Microsoft Learn
を見ると、コマンドプロンプトでスクリプトブロックを実行する場合は
powershell -Command {Get-WinEvent -LogName security}
ではなく
powershell.exe -Command "& {Get-WinEvent -LogName security}"
とするように書かれていますね。
なので
powershell -Command "Start-Job -ScriptBlock &{Stop-VM PC1 -Force}"
とかになるのかな(未確認)。
説明不足で申し訳ありません。
コマンドプロンプトから
powershell -Command
は付けた状態でも同様です。