2013-07-14 5 views
1

Dans le code suivant, $ ipAddress stocke à la fois l'IPV4 et l'IPV6. Je veux seulement que l'IPV4 soit affiché, est-ce que c'est possible? Peut-être avec une scission?Affichage des informations de carte réseau

De plus, le masque de sous-réseau imprime 255.255.255.0 64 - d'où vient ce rogue 64?

code:

ForEach($NIC in $env:computername) { 
    $intIndex = 1 
    $NICInfo = Get-WmiObject -ComputerName $env:computername Win32_NetworkAdapterConfiguration | Where-Object {$_.IPAddress -ne $null} 
    $caption = $NICInfo.Description 
    $ipAddress = $NICInfo.IPAddress 
    $ipSubnet = $NICInfo.IpSubnet 
    $ipGateWay = $NICInfo.DefaultIPGateway 
    $macAddress = $NICInfo.MACAddress 
    Write-Host "Interface Name: $caption" 
    Write-Host "IP Addresses: $ipAddress" 
    Write-Host "Subnet Mask: $ipSubnet" 
    Write-Host "Default Gateway: $ipGateway" 
    Write-Host "MAC: $macAddress" 
    $intIndex += 1 
} 

Répondre

3

fonctionnent différemment pour Subnets IPv6, de sorte que le 64 voyous que vous voyez est le masque de sous-réseau IPv6 de - pas IPv4 de.

La longueur de préfixe dans IPv6 est l'équivalent du masque de sous-réseau dans IPv4. Cependant, plutôt que d'être exprimé en 4 octets comme dans IPv4, il est exprimé sous la forme d'un entier compris entre 1 et 128. Par exemple: 2001: DB8: ABCD: 0012 :: 0/64

Voir ici: http://publib.boulder.ibm.com/infocenter/ts3500tl/v1r0/index.jsp?topic=%2Fcom.ibm.storage.ts3500.doc%2Fopg_3584_IPv4_IPv6_prefix_subnet_mask.html

Pour le supprimer, vous pouvez essayer la (hypothèse suivante énorme que fait IPv4 vient toujours en premier, mais dans tous mes expérimentation il n'est pas venu deuxième encore;))

ForEach($NIC in $env:computername) { 
    $intIndex = 1 
    $NICInfo = Get-WmiObject -ComputerName $env:computername Win32_NetworkAdapterConfiguration | Where-Object {$_.IPAddress -ne $null} 
    $caption = $NICInfo.Description 
    #Only interested in the first IP Address - the IPv4 Address 
    $ipAddress = $NICInfo.IPAddress[0] 
    #Only interested in the first IP Subnet - the IPv4 Subnet  
    $ipSubnet = $NICInfo.IpSubnet[0] 
    $ipGateWay = $NICInfo.DefaultIPGateway 
    $macAddress = $NICInfo.MACAddress 
    Write-Host "Interface Name: $caption" 
    Write-Host "IP Addresses: $ipAddress" 
    Write-Host "Subnet Mask: $ipSubnet" 
    Write-Host "Default Gateway: $ipGateway" 
    Write-Host "MAC: $macAddress" 
    $intIndex += 1 
} 

Espérons que cela aide!

Questions connexes