Powershell - selectie uit array verwijderen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 16:34
Hey Tweakers


Ik heb beperkte ervaring met powershell en probeer het volgende te doen
Ik heb PowerCLI voor onze VMware omgeving uit te lezen geïnstalleerd en vraag met onderstaande lijn de relevante data op die ik in Excel wil steken.
Voor zover ik weet ondersteunt Get-VM niet om op het IP-adres te filteren en dus alleen het IPv4 adres er uit te halen, dus dacht ik dat te proberen op een andere manier. Ik krijg mijn array gevuld met de juiste gegevens, ik kan ze selecteren in de 'foreach-object' maar weet dan niet hoe ik verder moet om het geselecteerde ipv6 adres te verwijderen uit de array.
Iemand die me in de juiste richting kan duwen of een tip kan geven naar wat ik moet zoeken?

code:
1
2
3
4
5
6
get-vm | select Name,notes,vmhost,guest,@{N="IP Address";E={@($_.guest.IPAddress)}}
foreach-object {
        if ($_.guest.IPaddress -like "?FE80?")
        {
        
        }

Alle reacties


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 17:04

The Eagle

I wear my sunglasses at night

Gewoon bij google beginnen, dan kom je al snel deze tegen: https://communities.vmwar...IPv4-details/td-p/1873428

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 16:34
ok, goed gevonden, maar hoe integreer ik nu beide commando's op 1 lijn zodat ik die export naar excel kan doen? Als ik dat niet op 1 lijn doen, kloppen de IP's niet meer bij de servers aangezien er servers zijn met meer als 2 of zelfs soms 3 IPv4 IP's.

Zoals onderstaande genereer ik dan een excel file, maar de IP die ik op column 5 bijvoeg kloppen dan niet meer met de server op die lijn.

Kan je dat samen voegen op 1 lijn?
code:
1
2
3
4
5
6
7
8
9
10
11
get-vm | select Name,notes,vmhost,guest | Export-Excel "c:\scripts\VM_IP_Addresses.xlsx" -worksheetname $sheetname -autosize


get-vm | Get-NetworkAdapter | Select-Object @{N='IP';E={
    $vNIc = $_

    (($_.Parent.ExtensionData.Guest.Net | where { $_.MacAddress -eq $vNIc.MacAddress }).IPAddress | where{$_ -match '\.'}) -join ', '

    }} | 

Export-Excel "c:\scripts\VM_IP_Addresses.xlsx" -worksheetname $sheetname -autosize -startcolumn 5