在 PowerShell 中获取 IPv4 地址
系统管理员可以在 PowerShell 中执行各种任务,包括网络任务。
例如,PowerShell 允许你列出 IP 地址和 IP 配置、ping 计算机、检索网络适配器属性、执行 DHCP 配置任务以及创建/删除网络共享。
IP 表示 Internet 协议,v4 表示第四版。
IPv4 地址是 32 位整数,用于标识机器上的网络接口。它以点分十进制表示法表示。
它有四个用句点分隔的 8 位字段,每个 8 位字段代表 IPv4 地址的一个字节。本教程将教你将 IPv4 地址获取到 PowerShell 中的变量中。
使用 Get-NetIPAddress
将 IPv4 地址获取到 PowerShell 中的变量中
Get-NetIPAddress
cmdlet 获取 IP 地址配置,例如 IPv4 地址、IPv6 地址和与地址关联的 IP 接口。
当它不带参数运行时,它会打印计算机的整个 IP 地址配置。
--AddressFamily
参数用于指定 IP 地址系列的数组。Get-NetIPAddress
使用此参数获取与地址系列匹配的 IP 地址配置。
接受的值为 IPv4
和 IPv6
。
例如,以下命令获取有关计算机上所有 IPv4 地址的 IP 地址配置的信息。
Get-NetIPAddress -AddressFamily IPv4
此命令仅将计算机的 IPv4
地址放入变量 $ipv4
。
$ipv4 = (Get-NetIPAddress | Where-Object {$_.AddressState -eq "Preferred" -and $_.ValidLifetime -lt "24:00:00"}).IPAddress
$ipv4
输出:
192.168.2.33
你还可以使用以下命令在 PowerShell 中获取 IPv4 地址。
Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress
输出:
192.168.2.33
使用 Get-NetIPConfiguration
将 IPv4 地址获取到 PowerShell 中的变量中
Get-NetIPConfiguration
cmdlet 获取网络配置,包括 IP 地址和 DNS 服务器。
此 cmdlet 在不带任何参数运行时获取计算机上所有非虚拟连接接口的 IP 配置属性。
以下命令将 IPv4 地址放入变量 $ipv4
。
$ipv4 = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.status -ne "Disconnected"}).IPv4Address.IPAddress
$ipv4
输出:
192.168.2.33
使用 Dns 类
将 IPv4 地址获取到 PowerShell 中的变量中
Dns 类
是一个静态类,它从 Internet 域名系统 (DNS) 获取有关特定主机的信息。GetHostAddresses
方法返回指定主机的 IP 地址。
例如,以下命令获取 LAPTOP-B045GB7Y
的 IPv4 地址,即这台计算机的设备名称。你必须将其替换为你的设备名称才能获得计算机的 IPv4 地址。
$ipv4 = ([System.Net.DNS]::GetHostAddresses('LAPTOP-B045GB7Y') | Where-Object {$_.AddressFamily -eq "InterNetwork"} | select-object IPAddressToString)[0].IPAddressToString
$ipv4
输出:
192.168.2.33
使用 Get-WmiObject
将 IPv4 地址获取到 PowerShell 中的变量中
Get-WmiObject
cmdlet 获取 Windows Management Instrumentation (WMI) 类的实例或有关可用 WMI 类的信息。
Win32_NetworkAdapterConfiguration
是一个 WMI 类,表示网络适配器的属性和行为。
你可以运行以下命令将 IPv4 地址获取到 PowerShell 中的变量 $ipaddr
。
$ipaddr = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | where {$_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null}).IPAddress | Select-Object -First 1
$ipaddr
输出:
192.168.2.33
使用 Test-Connection
将 IPv4 地址获取到 PowerShell 中的变量中
Test-Connection
cmdlet 将 ICMP 回显请求数据包或 ping 发送到一台或多台计算机并返回回显响应回复。它还可以确定是否可以通过 IP 网络联系特定计算机。
你可以运行以下命令将 IPv4 地址放入变量 $ipv4
。
$ipv4 = (Test-Connection -ComputerName (hostname) -Count 1 | Select -ExpandProperty IPv4Address).IPAddressToString
$ipv4
如果你有任何虚拟适配器,它会返回虚拟适配器的 IPv4 地址(例如 VPN、Hyper-V、Docker)。
输出:
192.168.26.1
你也可以使用此命令返回与上述相同的输出。
(Test-Connection -ComputerName $env:computername -count 1).IPv4Address.IPAddressToString
输出:
192.168.26.1
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。