PowerCLI Erhalten Sie VMs, die auf bestimmte Bedingungen zutreffen

448
Gefolge

Ich versuche, einige Linux-Distributionen mithilfe von PowerCLI von vCenter zu beziehen. Ich möchte jedoch keine Appliance-VMs erhalten. Ich habe also 2 verschiedene erfolgreiche PowerCLI-Skripte, die diese Maschinen finden können. Ich möchte diese Skripts zusammenführen, aber ich bin neu in PowerCLI und seiner Syntax.

Ich teile diese Skripte unter:


Nicht-Appliance-Liste:

Get-VM | ` Get-Annotation | ` Where-Object {$_.name -eq "Appliance"} | ` Where-Object {$_.value -eq 'No'} | ` Export-Csv C:\Users\me\Documents\non-appliance-list.csv -NoTypeInformation -UseCulture 

Linux-Liste:

Get-View -Property @("Name", "Config.GuestFullName","Guest.GuestFullName") | ` Select -Property Name, @}, @} | ` Where-Object ({$_.ROS -like 'Centos*' -or $_.ROS -like 'Suse*' -or $_.ROS -like 'Ubuntu*'}) | `  Select AnnotatedEntity,Name,Value | ` Export-Csv C:\Users\me\Documents\linux-list.csv -NoTypeInformation -UseCulture 

Skript, das ich mir vorgestellt hatte, aber nicht funktionierte:

Get-VM | ` Get-Annotation | ` Where-Object {$_.name -eq "Appliance"} | ` Where-Object {$_.value -eq 'No'} | ` Get-View -Property @("Name", "Config.GuestFullName","Guest.GuestFullName") | ` Select -Property Name, @}, @} | ` Where-Object ({$_.ROS -like 'Centos*' -or $_.ROS -like 'Suse*' -or $_.ROS -like 'Ubuntu*'}) | `  Select AnnotatedEntity,Name,Value | ` Export-Csv C:\Users\me\Documents\linux--list.csv -NoTypeInformation -UseCulture 

Vielleicht war es eine XY-Frage. Wenn Sie Linux-VMs besser nutzen können, die keine Appliance sind, können Sie mir diese Methode sagen.

0

0 Antworten auf die Frage