通过IP地址查找网卡
Find NIC by IP address
我需要能够通过 IP 地址找到网卡,无论是完整的还是部分的。所以写这样的东西:
Get-NIC-By-IP 10.10.*
可以return:
Ethernet
我知道如何在 Bash 中执行此操作,但未能找到解决此问题的 PowerShell 解决方案。
通过使用以下命令,您将收到与您在 match
子句中提到的 IP 地址相匹配的每个接口。
Get-NetIPAddress | ?{ $_.AddressFamily -eq "IPv4" -and ($_.IPAddress -match "192.")} | Select-Object InterfaceAlias
在我的例子中是:
InterfaceAlias
--------------
Ethernet 2
Ethernet
当然,您可以根据需要修改输出。
旧OS的补充
您不能 运行 在旧的 Windows 浏览器上使用此脚本,因为根据 TechNet 上的此线程不包含该 cmdlet:https://social.technet.microsoft.com/Forums/office/en-US/dcc966a1-24c2-4ae4-b39d-b78df52b6aef/install-of-powershell-3-on-windows-7-seems-to-be-missing-modules?forum=winserverpowershell
There are many cmdlets in Powershell for Windows 8 and Server 2012 (PS V3) that are not included in the V3 release for Windows 7. An example would be Get-NetIPAddress, and many other network-related cmdlets.
话又说回来,将 OS 升级到受支持的版本可能是个好主意(当然,如果可能的话)。
对于不支持 Get-NetIPAddress
的 Windows and/or PowerShell 版本,您可以结合 类 Win32_NetworkAdapterConfiguration
和 Win32_NetworkAdapter
:
$Configs = Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled='TRUE'" | Where-Object {$_.IPAddress -like "192.168.*"}
ForEach ($Config in $Configs) {
Get-WMIObject -Class Win32_NetworkAdapter -Filter "Index=$($Config.Index)" | Select-Object NetConnectionID,Description
}
我需要能够通过 IP 地址找到网卡,无论是完整的还是部分的。所以写这样的东西:
Get-NIC-By-IP 10.10.*
可以return:
Ethernet
我知道如何在 Bash 中执行此操作,但未能找到解决此问题的 PowerShell 解决方案。
通过使用以下命令,您将收到与您在 match
子句中提到的 IP 地址相匹配的每个接口。
Get-NetIPAddress | ?{ $_.AddressFamily -eq "IPv4" -and ($_.IPAddress -match "192.")} | Select-Object InterfaceAlias
在我的例子中是:
InterfaceAlias
--------------
Ethernet 2
Ethernet
当然,您可以根据需要修改输出。
旧OS的补充
您不能 运行 在旧的 Windows 浏览器上使用此脚本,因为根据 TechNet 上的此线程不包含该 cmdlet:https://social.technet.microsoft.com/Forums/office/en-US/dcc966a1-24c2-4ae4-b39d-b78df52b6aef/install-of-powershell-3-on-windows-7-seems-to-be-missing-modules?forum=winserverpowershell
There are many cmdlets in Powershell for Windows 8 and Server 2012 (PS V3) that are not included in the V3 release for Windows 7. An example would be Get-NetIPAddress, and many other network-related cmdlets.
话又说回来,将 OS 升级到受支持的版本可能是个好主意(当然,如果可能的话)。
对于不支持 Get-NetIPAddress
的 Windows and/or PowerShell 版本,您可以结合 类 Win32_NetworkAdapterConfiguration
和 Win32_NetworkAdapter
:
$Configs = Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled='TRUE'" | Where-Object {$_.IPAddress -like "192.168.*"}
ForEach ($Config in $Configs) {
Get-WMIObject -Class Win32_NetworkAdapter -Filter "Index=$($Config.Index)" | Select-Object NetConnectionID,Description
}