ipconfig
, using regex to find the address based on my subnet, or the simple powershell way with Get-NetIPAddress
.To make things a bit easier, and to avoid issues where your ip address is not what is expected, you could use one of the following:
((Get-NetIPAddress | Where-Object InterfaceAlias -match Ethernet) ` | Where-Object AddressFamily -Match IPv4).IPAddress ((Get-NetIPAddress | Where-Object InterfaceAlias -match Ethernet) ` | Where-Object AddressFamily -Match IPv6).IPAddress ((Get-NetIPAddress | Where-Object InterfaceAlias -match Wi-Fi) ` | Where-Object AddressFamily -Match IPv4).IPAddress ((Get-NetIPAddress | Where-Object InterfaceAlias -match Wi-Fi) ` | Where-Object AddressFamily -Match IPv6).IPAddress
Obviously, your mileage may vary. For instance, the system I am on now does not obtain IPv6 addresses. My target system does.
How does this work?
Get-NetIPAddress
returns an object with all of your ip addresses; ethernet, wi-fi, loopback, vpn, vm adapters, etc. You may not be interested in all of these. In my case, I am only interested in the IPv4 ethernet address of a system. Get-NetIPAddress
gets me all interfaces. Get-NetIPAddress | Where-Object InterfaceAlias -match Ethernet
on my IPv4/IPv6 system gives me:IPAddress : aa11::bb22:cc33:dd44:ee55%4 InterfaceIndex : 4 InterfaceAlias : Ethernet AddressFamily : IPv6 Type : Unicast PrefixLength : 64 PrefixOrigin : WellKnown SuffixOrigin : Link AddressState : Preferred ValidLifetime : Infinite ([TimeSpan]::MaxValue) PreferredLifetime : Infinite ([TimeSpan]::MaxValue) SkipAsSource : False PolicyStore : ActiveStore IPAddress : 192.168.0.2 InterfaceIndex : 4 InterfaceAlias : Ethernet AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Dhcp SuffixOrigin : Dhcp AddressState : Preferred ValidLifetime : 21:43:14 PreferredLifetime : 21:43:14 SkipAsSource : False PolicyStore : ActiveStore
To break this down and get just the IPv4 entry, we pipe our expression again through a new
Where-Object
:(Get-NetIPAddress | Where-Object InterfaceAlias -match Ethernet) ` | Where-Object AddressFamily -Match IPv4 IPAddress : 192.168.0.2 InterfaceIndex : 4 InterfaceAlias : Ethernet AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Dhcp SuffixOrigin : Dhcp AddressState : Preferred ValidLifetime : 21:43:14 PreferredLifetime : 21:43:14 SkipAsSource : False PolicyStore : ActiveStore
To get just the IPv4 address, enclose the entire expression, and then request the property desired.
((Get-NetIPAddress | Where-Object InterfaceAlias -match Ethernet) ` | Where-Object AddressFamily -Match IPv4).IPAddress
192.168.0.2
No comments:
Post a Comment