收集IP地址信息

use*_*129 2 powershell ip-address windows-7

我很难找到有关PowerShell版本之间差异的信息,但这一切都非常混乱.

Windows 7上安装的PowerShell 3中有哪些命令可用于网络命令?据我所知,许多模块需要单独导入,但我找不到任何get-netipaddress可用于Win8或Win Server 2012 的cmdlet或其他类似的,但不能在win7上找到.是否有可以在Win7中导入的模块?也许PS v2中有类似的命令?

更新:我正在运行v3.根据我的阅读,该命令在PowerShell 3上可用,但未安装在Win7上.但为什么会这样呢?

在此输入图像描述

BAC*_*CON 11

我不知道Get-NetIPAddresscmdlet返回其数据的结构,但是如果您正在寻找一种检索IP设置的方法,您可以使用WMI和Win32_NetworkAdapterConfiguration:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter 'IPEnabled = True'
Run Code Online (Sandbox Code Playgroud)

System.Net.NetworkInformation命名空间有一些你可以用它来获取相同类型的信息类:

[System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces() `
    | ForEach-Object { $_.GetIPProperties() } `
    | Select-Object -ExpandProperty 'UnicastAddresses';
Run Code Online (Sandbox Code Playgroud)


mik*_*kol 6

PowerShell版本仅附带"核心"cmdlet集,并且只有在安装新版本的PowerShell时才会更改的cmdlet集.

像Get-NetIPAddress这样的Cmdlet实际上并不是PowerShell的一部分 - 它们是底层操作系统的一部分,在本例中是Windows 8.1和Windows Server 2012 R2.它们依赖于特定操作系统版本的功能,因此它们与操作系统捆绑在一起,而不是与管理框架捆绑在一起.

所以,遗憾的是,你的问题的答案是,除了升级到Windows 8.1之外,没有什么可以让Get-NetIPAddress在Windows 7上运行.