이 스크립트는 호스트의 가상 현재 상태를 표시하려고하는 코드의 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]"
}
을 가질 수 ... 당신은 하드 스크립트로 서버 이름을 구분 한 스크립팅은 하드 코드 된 서버가 아닌 다른 서버를 처리 할 수 없으므로 Get-VM에서 목록을 제공합니다. 개인적으로이 스크립트는 기본 사용자를위한 GUI 또는 고급 사용자를위한 적절한 powershell 명령을 통해 모든 것을 수행 할 수 있기 때문에 무의미한 것처럼 보입니다. 그러나 사용자가 주장하는 경우 적절하게 일반화하고 하드 코딩 된 값을 제거하거나 목록을 하드 코딩하십시오 서버 시작부터. – Ashigore
Get-VM을 현재 상태 메뉴로 표시하려고했습니다. 언뜻보기에 현재 어떤 vms가 실행되고 있는지 알려줍니다. 나는 그것을 더 일반적으로 만들 것이지만 나는 어떻게 해야할지 모른다. 이 스크립트의 현재 버전은 가상 컴퓨터의 전체 이름을 입력하지 않으므로 하드 코딩 된 VM 이름으로 작성됩니다. (Get-VM이 표시되지 않기 때문에) 약간 더 일반적인 코드가 있고 그 코드로 내 게시물을 업데이트합니다. 도와 줘서 고마워. – Kieran