对vmware vsphere vCenter 收集vm信息归类,统计部门分配资源
  mPcyh9OXzYGu 2023年11月02日 68 0

实现效果如图

对vmware vsphere vCenter 收集vm信息归类,统计部门分配资源_vmware


cat g03.ps1

# 连接到 vCenter Server
Connect-VIServer -Protocol https -User 'administrator@vsphere.local' -Password 'Ancas#2023!' -Server 10.1.1.15

# 获取所有虚拟机的信息
$vmInfo = Get-VM | ForEach-Object {
    # 获取虚拟机的 IP 地址
    $ipAddress = ($_ | Get-VMGuest).IPAddress

    # 获取虚拟机的核心数量
    $numCpu = $_.NumCpu

    # 获取虚拟机最近 5 分钟的 CPU 使用情况,只有当虚拟机处于开机状态时才获取
    $cpuUsage5Min = if ($_.PowerState -eq 'PoweredOn') { $_ | Get-Stat -Stat cpu.usage.average -Start (Get-Date).AddMinutes(-5) -Realtime | Measure-Object Value -Average | Select-Object -ExpandProperty Average } else { $null }

    # 获取虚拟机的资源使用情况
    $memoryUsageMB = $_.ExtensionData.Summary.QuickStats.GuestMemoryUsage

    # 获取虚拟机的最大内存资源量
    $maxMemoryUsageMB = $_.ExtensionData.Summary.Runtime.MaxMemoryUsage

    # 计算内存资源使用百分比
    $memoryUsagePercent = if ($maxMemoryUsageMB -eq 0) { 0 } else { $memoryUsageMB / $maxMemoryUsageMB * 100 }

    # 获取虚拟机在虚拟数据中心中的位置
    $folder = $_.Folder

    # 获取虚拟机的硬盘信息
    $hardDisks = Get-HardDisk -VM $_
    $totalDiskCapacity = ($hardDisks | Measure-Object -Property CapacityKB -Sum).Sum / 1MB  # 将总硬盘容量从 KB 转换为 GB

    # 创建一个包含所有信息的对象
    New-Object PSObject -Property @{
        'Name' = $_.Name
        'IP Address' = if ($ipAddress -ne $null -and $ipAddress.Length -gt 0) { $ipAddress[0] } else { 'N/A' }
        'Power State' = $_.PowerState
        'CPU Cores' = $numCpu
        'CPU Usage Last 5 Min (%)' = $cpuUsage5Min
        'Memory Usage (MB)' = $memoryUsageMB
        'Max Memory (MB)' = $maxMemoryUsageMB
        'Memory Usage (%)' = $memoryUsagePercent
        'Total Disk Capacity (GB)' = $totalDiskCapacity
        'Folder' = $folder
    }
}
# 导出到 CSV 文件
$vmInfo | Export-Csv -Path 'vm_info33.csv' -NoTypeInformation

# 断开 vCenter Server 连接
Disconnect-VIServer -Server 10.1.1.15 -Confirm:$false
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
mPcyh9OXzYGu