#Parameters param( [Parameter(Mandatory=$true)] [string] $VMId ) #Check VMId $ret = get-vm |Where {$_.Id -eq $VMId} if ($ret -eq $null) { Write-Output "VM not found. Aborting." } #Get status of Hyper-V VM and start it $VMName = $ret.Name $ret = Get-VM -Name $VMName if(($ret.State -eq "Off") -or ($ret.State -eq "Saved")) { Write-Output "Starting VM '$VMName'..." Start-VM -Name $VMName } else { Write-Output "VM '$VMName' is already running or in transition. No action taken." }