これは、最新の形式のスクリプトです。コード6行目で、ホスト上の仮想の現在の状態を表示しようとしています。 コードを実行すると、最後まで表示されません。powershell cmdlet正しい時刻にGet-Vmが表示されない
これは他の場所でも正しく動作し、私が望むような行動を起こします。しかし、Get-VM
は、スクリプトが終了する直前まで実行されません。
私にはわからないコマンドを実行する強制コマンドがありますか?私はそれがおそらくちょうど私が見ていない愚かな間違いであることを知っています。
さらに詳しい説明が必要な場合は、私にお知らせください。
#new-alias -Name rh -Value read-host
Get-VM
$AA = rh "Would you like to preform an action?[y/n]"
While($AA -eq "y"){
$A = rh "What would you like to do? `n save?[sa] `n start?[st] `n stop?[x]
`n restart?[re]`n "
# blank-vm -name blank
If($A -eq "sa"){
$s = "Save"
$B = rh "Which VM would you like to $s ?[a for all]"
if($B -eq "a"){
Get-VM | Save-VM
}
else{save-vm -name "$B"}
}
If($A -eq "st"){
$s = "Start"
$B = rh "Which VM would you like to $s ?[a for all]"
if($B -eq "a"){
Get-VM | Start-VM
}
else{Start-vm -name "$B"}
}
If($A -eq "x"){
$s = "Stop"
$B = rh "Which VM would you like to $s ?[a for all]"
if($B -eq "a"){
Get-VM | stop-VM
}
else{Stop-vm -name "$B"}
}
If($A -eq "re"){
$s = "Restart"
$B = rh "Which VM would you like to $s ?[a for all]"
if($B -eq "a"){
Get-VM | restart-VM
}
else{restart-vm -name "$B"}
}
$AA = rh "Would you like to preform another action?[y/n]"
}
を持っている可能性が...あなたは、ハードスクリプトにサーバ名をコード化しましたScripting Guysはハードコーディングされたサーバー以外のサーバーに対処できないため、Get-VMはリストを提供しています。個人的には、このスクリプトは、基本ユーザのためのGUIや上級ユーザ向けの適切なpowershellコマンドからすべてを行うことができるのでかなり無意味だと思われますが、あなたが主張するのであれば、適切に一般化してハードコードされた値を削除するか、サーバーの最初から。 – Ashigore
私は現在の状態メニューとしてGet-VMを表示することを意図していました。一目で、現在実行されているVMMを教えてください。私はそれをより一般的にするだろうが、私はどのようにするか分からない。このスクリプトの現在のバージョンは、仮想マシンのフルネームを入力する必要がないため、ハードコードされたVM名で記述されています。 (Get-VMは表示されないため)。私は少し一般的なコードを持っています。私はそのポストを更新します。ご協力ありがとうございました。 – Kieran