首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工作流VM审计中的副本

工作流VM审计中的副本
EN

Stack Overflow用户
提问于 2016-09-25 15:52:16
回答 1查看 46关注 0票数 0

我正在对几个虚拟中心(其中大约5个)进行VM审计,其中报告只是每个VM的csv以及一些属性。虽然这个脚本会在一夜之间运行,但是我发现它花了5-6个小时来完成,并且希望提高它的效率。我了解了工作流,并认为同时对每个vcenter进行审计会比逐个审计更快。大约4个小时后,它比我预期的要慢。我注意到数据中有很多重复,我不知道为什么会这样;也许我关于工作流如何工作的想法是有缺陷的。我还在寻找提高代码效率的任何技巧。提前谢谢。

工作流程:

代码语言:javascript
复制
workflow test {

param([string[]]$vcenters, [string]$session, [string]$username, [string]$password)

foreach -parallel($vcenter in $vcenters){
$main = InlineScript{
    Add-PSSnapin VMware.VimAutomation.Core
    Connect-VIServer -Server $Using:vcenter -User $Using:username -Password $Using:password 
    $vms = Get-View -ViewType VirtualMachine -Property Name, Summary.Config.GuestFullName, Runtime.Powerstate, Config.Hardware.MemoryMB, Config.Hardware.NumCPU
    ForEach($machine in $vms){
        $vm = Get-VM -Server $Using:vcenter -Name $machine.Name -ErrorAction SilentlyContinue
        $object = New-Object -Type PSObject -Property ([ordered]@{
            Name = $machine.Name
            GuestOS = $machine.Summary.Config.GuestFullName
            PowerState = $machine.Runtime.PowerState
            MemoryGB = ($machine.Config.Hardware.MemoryMB / 1024)
            CPU = $machine.Config.Hardware.NumCPU
            VLAN=(Get-NetworkAdapter -VM $vm |Sort-Object NetworkName |Select -Unique -Expand NetworkName) -join '; '
        })
        $object| Export-Csv -Append “C:\TestReports\$($vcenter)_TestReport.csv” -NoTypeInformation
    }
    Disconnect-VIServer - $Using:vcenter  -Confirm:$false
    }
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 14:57:37

通过下面的更改,它可能运行得足够快,以至于您不再需要并行处理或工作流。不确定这些因素是否是造成重复问题的原因。如果没有,您可能需要从您的环境中分享更多的细节,以帮助您完成该部分。

Get-VM是慢的。您要为每个VM调用一次,我认为您根本不需要它。连接到vCenter后,尝试添加这一行

代码语言:javascript
复制
$networks = Get-View -ViewType Network

VLAN=行替换为

代码语言:javascript
复制
VLAN= $networks | ? {$_.VM.Value -contains $machine.MoRef.value} | select -exp Name

放下你的$vm = Get-VM..。完全排好队。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39688831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档