【问题标题】:Batch snapshot PowerCLI script slow performance批量快照 PowerCLI 脚本性能缓慢
【发布时间】:2016-08-04 12:32:02
【问题描述】:

我制作了一个 powershell 脚本,它将接收一批分隔的 VM IP 地址并拍摄每个 VM 的快照。

我的问题是我每次都为每个 VM 调用 Get-VM,这显然非常慢。我想知道是否有人可以看到另一种方式来执行相同的操作而不必每次都调用它?

Add-PSSnapin VMware.VimAutomation.Core
$VCServer = "vc"

Connect-VIServer $VCServer
[array]$vms = (Read-Host “List of IP's (separate with comma)”).split(“,”) | %{$_.trim()}
foreach($vm in $vms)
    {
    Get-VM | where {$_.Guest.IPAddress -match $vm}| New-Snapshot -Name "Patching" -Description (Get-Date)
    }

【问题讨论】:

    标签: powershell scripting vmware esxi powercli


    【解决方案1】:

    只需将 Get-VM 调用放在 foreach 之外,将其分配给变量并改为使用它:

    $retrievedVMs = Get-VM
    foreach($vm in $vms)
    {
        $retrievedVMs | where {$_.Guest.IPAddress -match $vm}| New-Snapshot -Name "Patching" -Description (Get-Date)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      • 2015-04-12
      相关资源
      最近更新 更多