Manipuler les informations réseau

0
(0)

Introduction – Manipuler les informations réseau en PowerShell

Voici une liste de filtres pour manipuler les informations réseau en PowerShell.

Le plus utile tout de suite

On ne va pas se mentir, les autres filtres ne m’ont servi qu’une fois en 7 ans.
Je vous donne le plus utile tout de suite, ne perdons pas de temps.

Convertir les masques de sous-réseau en PowerShell

Convertir une longueur de sous-réseau en masque.

PowerShell
Filter ConvertTo-LengthFromIPMask { ([Convert]::ToString(([IPAddress][String]([IPAddress]$_).Address).Address,2) -replace '[s0]' ).Length }

# Exemple d'utilisation
PS> "255.255.255.0" | ConvertTo-LengthFromIPMask
24

Convertir un masque en longueur de sous-réseau.

PowerShell
Filter ConvertTo-IPMaskFromLength {[System.Net.IPAddress]::Parse(([math]::Pow(2, 32) - [math]::Pow(2, 32 - $_)).ToString()).IPAddressToString }

# Exemple d'utilisation
PS C:\> 24 | ConvertTo-IPMaskFromLength 
255.255.255.0

Travailler avec des adresses IP en décimal

Voici un exemple où l’on peut trouver une adresses IP au format décimal, il peut être intéressant de savoir la manipuler.

PowerShell
PS> $Interface = [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()[3]
PS> $Interface.GetIPProperties().UnicastAddresses[1].Address

Address            : 2432805056
AddressFamily      : InterNetwork
ScopeId            :
IsIPv6Multicast    : False
IsIPv6LinkLocal    : False
IsIPv6SiteLocal    : False
IsIPv6Teredo       : False
IsIPv4MappedToIPv6 : False
IPAddressToString  : 192.168.1.145

Convertir un décimal en adresse IP

PowerShell
Filter ConvertTo-IPFromDecimal { ([System.Net.IPAddress]$_).IPAddressToString }

# Exemple d'utilisation
PS> 2432805056 | ConvertTo-IPFromDecimal
192.168.1.145

Convertir une adresse IP en décimal

PowerShell
Filter ConvertTo-DecimalFromIP { ([IPAddress][String]([IPAddress]$_)).Address }

# Exemple d'utilisation
PS> "192.168.1.145" | ConvertTo-DecimalFromIP
2432805056

La même idée, mais à l’envers.

Travailler avec des adresses IP en binaire

Pour ceux d’entres vous qui n’ont pas séché les cours de réseau, vous le savez: la base de calcul en ipv4 est le binaire.
Cela peut donc avoir un intérêt de convertir une adresse en série de 1 et de 0.

Nan, à la relecture du sujet, cela n’a aucun d’intérêt mais, je trouve l’exercice amusant.

Convertir une adresses IP en binaire

Info

Une adresse IP ou un masque de sous-réseau… c’est le même format, vous l’aurez compris.

PowerShell
Filter ConvertTo-BinaryFromIP { [Convert]::toString(([IPAddress][String]([IPAddress]$_).Address).Address,2) }

# Exemple d'utilisation
PS> "192.168.1.145" | ConvertTo-BinaryFromIP
11000000101010000000000110010001

Convertir un binaire en adresse IP

PowerShell
Filter ConvertTo-IPFromBinary { ([System.Net.IPAddress]"$([System.Convert]::ToInt64($_,2))").IPAddressToString }

# Exemple d'utilisation
PS> '11000000101010000000000110010001' | ConvertTo-IPFromBinary
192.168.1.145

Conclusion

Ces filtres devraient vous aider à manipuler les informations réseau en PowerShell.

Découvrez aussi nos autres conseils pratiques pour PowerShell !


Cette publication était-elle utile ?

Cliquez sur une étoile pour l'évaluer !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour le moment ! Soyez le premier à évaluer cette publication.

Laisser un commentaire