You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Cloud Shell获取虚拟机vCPU数量(优化现有脚本)

解决方法

要给虚拟机报告添加vCPU数量,你需要通过Get-AzureRmVMSize命令获取对应VM大小的规格参数,从中提取核心数。以下是修改后的完整脚本:

$Subscriptions = Get-AzureRmSubscription 
$Report = ForEach ($Subscription in $Subscriptions) {
    $SubscriptionName = $Subscription.Name
    Set-AzureRmContext -SubscriptionName "$SubscriptionName" | Out-Null
    $RGs = Get-AzureRMResourceGroup
    foreach ($RG in $RGs) {
        $VMs = Get-AzureRmVM -ResourceGroupName $RG.ResourceGroupName
        foreach ($VM in $VMs) {
            $VMDetail = Get-AzureRmVM -ResourceGroupName $RG.ResourceGroupName -Name $VM.Name -Status
            $VMStatusDetail = $VMDetail.Statuses.DisplayStatus -match "^VM .*$"
            
            # 获取当前VM大小对应的vCPU数量
            $VMSizeInfo = Get-AzureRmVMSize -Location $VM.Location | Where-Object { $_.Name -eq $VM.HardwareProfile.VMSize }
            $vCPUCount = $VMSizeInfo.NumberOfCores

            New-Object psobject -Property @{
                "SubscriptionName" = $SubscriptionName
                "VMName" = $VM.Name
                "VMStatus" = "$VMStatusDetail"
                "OSType" = $VM.StorageProfile.OSDisk.OSType
                "OSVersion" = $Vm.StorageProfile.ImageReference.Sku
                "ResourceGroup" = $RG.ResourceGroupName
                "Location" = $VM.Location
                "Tags" = $VM.Tags
                "Tier" = $VM.HardwareProfile.VMSize
                "vCPUCount" = $vCPUCount  # 新增vCPU数量字段
            }
        }
    }
}
$Report | Export-Csv "vmreport.csv" -Force -NoTypeInformation
download vmreport.csv

关键修改说明

  • 添加Get-AzureRmVMSize命令,根据VM所在区域和规格名称,筛选出对应的SKU配置信息
  • 从返回的规格信息中提取NumberOfCores属性,作为vCPU数量值
  • 在输出的自定义对象中新增vCPUCount字段,将获取到的核心数写入报告

如果运行时遇到权限问题,确保你的Cloud Shell账号拥有Microsoft.Compute/virtualMachines/read和Microsoft.Compute/virtualMachineSizes/read的权限。

内容的提问来源于stack exchange,提问作者Athmos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:37:38