如何使用 powercli 循环遍历没有特定标签的虚拟机

如何使用 powercli 循环遍历没有特定标签的虚拟机

我正在尝试导出一个 CSV 文件,其中包含集群中所有虚拟机的列表,这些虚拟机没有我用于调整大小的特定标签。但是,列表 CSV 中没有填充除以下内容之外的任何内容:ÿþ

Get-Module -Name VMware* -ListAvailable | Import-Module -Force
$exportto = "C:\Users\username\Desktop\rightSizingFilter3.csv"
$VMs = Get-Cluster -name clustername | Get-VM
 
foreach ($VM in $VMs){
    If (((Get-Tagassignment $VM).Tag.Name -notcontains "testtag")){
         Out-file $exportto -Append
    }
}

答案1

另一节的答案:

Get-Module -Name VMware* -ListAvailable | Import-Module -Force
Connect-ViServer -Server [SERVERNAME] -Credential (Get-Credential)
$ExportTo = ".\rightSizingFilter3.csv"
$VMs = Get-Cluster -Name [CLUSTERNAME] | Get-VM
 
foreach ($VM in $VMs) {
    If ( ((Get-Tagassignment $VM).Tag.Name -notcontains "testtag") ) {

         Export-Csv -InputObject $VM -Path $ExportTo -Append -NoTypeInformation
    }
}

答案2

我根据下面的代码片段让它工作:

$RS = foreach ($VM in $VMs){
    If (((Get-Tagassignment $VM).Tag.Name -notcontains "testtag")){
        Write-Output $VM
    }
}
$RS | Out-file $exportto -Append

相关内容