gpt4 book ai didi

powershell - Get-VM而不显示结果

转载 作者:行者123 更新时间:2023-12-03 00:50:23 25 4
gpt4 key购买 nike

我想运行测试以查看虚拟机是否已存在于hyper-v中

这是我所拥有的:

$VM = "DC"
$VMName = Get-VM -name $VM
if (!$VMname) {
Write-Host "No VM named $VM exists" }
else
{ Write-Host "A VM named $VM already exists" }

但是,如果虚拟机不存在,则会引发此错误
PS C:\Users\sowen> $VMName = Get-VM -name $VM
Get-VM : A parameter is invalid. Hyper-V was unable to find a virtual machine with name DC.
At line:1 char:11
+ $VMName = Get-VM -name $VM
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (DC:String) [Get-VM], VirtualizationInvalidArgumentException
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVMCommand

How could I silently find if a VM already exists on HyperV with powershell?

最佳答案

根据TechNet,Get-VM支持通用参数。使用-ErrorAction SilentlyContinue可能是完成同一件事的一种更干净的方法

$VMName = Get-VM -name $VM -ErrorAction SilentlyContinue

或者只是简单的try / catch也可以解决问题。我只是将上面的代码与一个简单的 If($VMName){}一起使用来说明空返回。

关于powershell - Get-VM而不显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com