J'essaie d'obtenir certaines distributions Linux de vCenter en utilisant PowerCLI. Mais je ne veux pas obtenir de machines virtuelles Appliance. J'ai donc 2 différents scripts PowerCLI réussis, ceux-ci peuvent trouver ces machines. Je veux fusionner ces scripts, mais je suis nouveau sur PowerCLI et sa syntaxe.
Je partage ces scripts ci-dessous:
Liste des non-appareils:
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
Liste Linux:
Get-View -Property @("Name", "Config.GuestFullName","Guest.GuestFullName") | `
Select -Property Name, @{N="COS";E={$_.Config.GuestFullName}}, @{N="ROS";E={$_.Guest.GuestFullName}} | `
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
Script que j'ai imaginé mais qui n'a pas fonctionné:
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, @{N="COS";E={$_.Config.GuestFullName}}, @{N="ROS";E={$_.Guest.GuestFullName}} | `
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
Peut-être que c'était une question XY. Si vous avez un meilleur moyen d’obtenir des machines virtuelles Linux qui ne sont pas des appliances, vous pouvez me dire cette méthode.
la source