【发布时间】:2022-12-17 10:48:51
【问题描述】:
这个 Powershell 脚本应该遍历 Virtualbox 中的所有虚拟机,并使用给定的名称拍摄快照(如果没有这个名称的话)。 但它总是需要快照......
$snapshot = 'untouched'
$vms = VBoxManage list vms
$snapscomp= "*"+$snapshot+"*"
ForEach($machine in $vms)
{
if ($snapshots -notlike $snapscomp)
{
$machinename = $machine.Split('{')[0]
$len = $machinename.Length-1
VBoxManage snapshot $machinename.Substring(0,$len) take $snapshot
}
}
我希望有人建议我做错了什么。
【问题讨论】:
-
$快照是什么?
-
根据 sn-p 提供的 $snapshots 似乎从未被赋值
-
您从 $snapshot 中删除了 's'。相比之下还缺少 $machine。
-
哦亲爱的,我不小心删除了我为$snapshots分配值的行,非常感谢(不应该加班没有咖啡^^)
标签: powershell