随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

PowerCLi获取宿主和虚机性能信息

 

复制代码
#该脚本用来根据csv定义的信息批量创建虚机
$vc = "vc.y.com"
$user = "ZabbixMonitor@vc.com" #只读账号即可
$password = "Mpassword"

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -Confirm:$false
Import-Module vmware.vimautomation.core

Connect-VIServer -Server $vc -username $user -Password $password -Force


#虚机总数、运行中的数量、未运行数量
$VMs = Get-VM
$vms_all = $VMs.Count
$vms_on = ($VMs | ? {$_.PowerState -eq "PoweredOn"}).count
$vms_off = $vms_all - $vms_on

#已分配给虚机的CPU、内存、存储
$vms_all_cpuNum_allocated = ($VMs |Measure-Object NumCpu -Sum).Sum
[int]$vms_all_memory_allocated = ($VMs |Measure-Object MemoryGB -Sum).Sum

[int]$vms_all_datastore_allocated = ($VMs|get-harddisk |Measure-Object CapacityGB -Sum).Sum


#宿主机CPU总量、CPU已用量、内存总量、内存已用量
$Hosts = Get-VMHost
$vmHosts_num = $Hosts.count
$vmHosts_cpu_all_num = ($Hosts |Measure-Object NumCpu -Sum).Sum
$vmHosts_cpu_all_freq = ($Hosts |Measure-Object CpuTotalMhz -Sum).Sum
$vmHosts_cup_used_freq = ($Hosts |Measure-Object CpuUsageMhz -Sum).Sum

[int]$vmHosts_memory_all = ($Hosts |Measure-Object MemoryTotalGB -Sum).Sum
[int]$vmHosts_memory_used = ($Hosts |Measure-Object MemoryUsageGB -Sum).Sum

#存储总量、剩余、已使用量
$datastores = Get-Datastore
[int]$datastore_all = ($datastores |Measure-Object CapacityGB -Sum).Sum
[int]$datastore_free = ($datastores |Measure-Object FreeSpaceGB -Sum).Sum
[int]$datastore_used = $datastore_all - $datastore_free



####################################################################################################

$VMObject = New-Object PSObject
$VMObject | Add-Member -MemberType NoteProperty -Name 宿主机数量 -Value $vmHosts_num -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机数量 -Value $vms_all -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机数量_运行中 -Value $vms_on -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机数量_未运行 -Value $vms_off -PassThru |
Add-Member -MemberType NoteProperty -Name 宿主机CPU个数 -Value $vmHosts_cpu_all_num -PassThru |
Add-Member -MemberType NoteProperty -Name 宿主机CPU总量_GHz -Value $vmHosts_cpu_all_freq -PassThru |
Add-Member -MemberType NoteProperty -Name 宿主机CPU使用量_GHz -Value $vmHosts_cup_used_freq -PassThru |
Add-Member -MemberType NoteProperty -Name 宿主机内存总量 -Value $vmHosts_memory_all -PassThru |
Add-Member -MemberType NoteProperty -Name 宿主机内存使用量 -Value $vmHosts_memory_used -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机已分配CPU总个数 -Value $vms_all_cpuNum_allocated -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机已分配内存总量 -Value $vms_all_memory_allocated -PassThru |
Add-Member -MemberType NoteProperty -Name 虚机已分配存储总量 -Value $vms_all_datastore_allocated -PassThru |
Add-Member -MemberType NoteProperty -Name 存储总量 -Value $datastore_all -PassThru |
Add-Member -MemberType NoteProperty -Name 存储已用量 -Value $datastore_used -PassThru 

Disconnect-VIServer -Server $vc -Confirm:$false
复制代码

 

posted on   momingliu11  阅读(337)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2016-01-19 数组list操作,切片
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示