【发布时间】:2019-07-23 15:01:59
【问题描述】:
我正在尝试构建一个脚本,该脚本将从多个 vSphere 服务器中提取 VM 列表。在这一点上,它做了我想要的,但不幸的是它还在结果 .csv 文件中创建了重复的值。
只是为了说明 serverlist.txt 和 vicredentials.xml 包含相同的唯一服务器。
Import-Module VMware.VimAutomation.Core
Set-PowerCLIConfiguration -DefaultVIServerMode Multiple -Confirm:$false
if (Test-Path 'E:\vSphereScript\vCenterVMList.csv'){Remove-Item 'E:\vSphereScript\vCenterVMList.csv'}
$serverList = Get-Content -Path "E:\vSphereScript\serverlist.txt"
foreach ($server in $serverList) {
$creds = Get-VICredentialStoreItem -file "vSphereScript\vicredentials.xml" -Host $server
Connect-VIServer -server $creds.host -user $creds.user -password $creds.password
Get-VM | Select-Object Name, Guest, VMhost, ResourcePool | Export-Csv -Path "E:\ProgramData\vCenterVMList.csv" -NoTypeInformation -Append
Disconnect-VIServer $server -Confirm:$false
}
还有人知道为什么这么慢吗? 如果我直接从 powershell 连接到 vm 并使用 Get-VM 它几乎是瞬时的
【问题讨论】:
标签: powershell vmware powercli