如何用PowerShell仅获取AKS集群的Kubernetes版本号?
解决方案
你遇到的问题是因为Select-Object -Property KubernetesVersion返回的是包含KubernetesVersion属性的自定义对象,而非属性的具体值。以下几种方法可以直接获取版本号:
方法1:使用-ExpandProperty参数
这是最直接的方式,Select-Object -ExpandProperty会直接返回属性的原始值,而非包装后的对象:
$CurrentVersion = Get-AzAksCluster -ResourceGroupName $AKsResourceGroup -Name $AKSName | Select-Object -ExpandProperty KubernetesVersion "The CurrentVersion is $CurrentVersion"
方法2:直接访问对象属性
如果需要保留原集群对象(后续可能用到其他属性),可以在输出时直接访问属性值,需用子表达式$()包裹:
$CurrentVersion = Get-AzAksCluster -ResourceGroupName $AKsResourceGroup -Name $AKSName | Select-Object -Property KubernetesVersion "The CurrentVersion is $($CurrentVersion.KubernetesVersion)"
或者提前将属性值单独赋值:
$cluster = Get-AzAksCluster -ResourceGroupName $AKsResourceGroup -Name $AKSName $CurrentVersion = $cluster.KubernetesVersion "The CurrentVersion is $CurrentVersion"
方法3:使用ForEach-Object提取属性
通过管道直接提取目标属性值:
$CurrentVersion = Get-AzAksCluster -ResourceGroupName $AKsResourceGroup -Name $AKSName | ForEach-Object { $_.KubernetesVersion } "The CurrentVersion is $CurrentVersion"
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

