2016-04-11 30 views
1

IP adresini bir tamsayıya dönüştürmek için powershell kullanmak istiyorum. Ben python kullandığınızdaPowershell IP adresini Integer'e dönüştürün

, böyle iyi çalışır: Beklediğim 170132736 değerini verir

from netaddr import IPAddress 
value1Numeric = int(IPAddress('10.36.5.0')) 
print 'value1Numeric: '+str(value1Numeric) 

.

Ben powershell aynı şeyi yapmak these instructions izlediğinizde

Ancak, ben bunu görmek : Ben bana vermek powershell nasıl alabilirim

$IP = [IPAddress]"10.36.5.0".Trim() 
$ip.Address 

Ben 336906.

ait powershell bir değer elde python ile aynı değer yaptı?

+1

Bütün cevabı okudun mu? Öyle gözükmüyor. – TheMadTechnician

cevap

3

Bayt sırasını değiştirmeniz gerekir.

[IPAddress]$ip = "255.255.255.255" 
$bytes = $ip.GetAddressBytes() 
if ([BitConverter]::IsLittleEndian) { 
     [Array]::Reverse($bytes) 
} 
[BitConverter]::ToUInt32($bytes, 0) 
+0

Kodunuz benim örneğimde bu IP için çalıştı (Teşekkürler!), Ama sonra "10.36.5.254" denediğimde işe yaramadı. Neden biliyor musun? – user952342

+1

HostToNetworkOrder'i nasıl kullanacağımı bulamadım. Bu yüzden Array.Reverse() işlevini kullanmak için cevabı değiştirdim. – t1meless

İlgili konular