Powershell cmdlet,返回包含接口默认网关的对象
我在Microsoft的文档中搜索了一个cmdlet,该cmdlet返回一个包含接口默认网关的对象。我知道Get-NetIPConfiguration返回默认网关,但它不返回供我使用的对象。有什么想法吗 编辑这里是我正在运行的。我正在尝试自动更改nic的ip地址,为此,我需要nic的默认网关Powershell cmdlet,返回包含接口默认网关的对象,powershell,Powershell,我在Microsoft的文档中搜索了一个cmdlet,该cmdlet返回一个包含接口默认网关的对象。我知道Get-NetIPConfiguration返回默认网关,但它不返回供我使用的对象。有什么想法吗 编辑这里是我正在运行的。我正在尝试自动更改nic的ip地址,为此,我需要nic的默认网关 $ip = Get-NetIPConfiguration -InterfaceIndex 17 New-NetIPAddress -IPAddress (New Ip address) -PrefixLe
$ip = Get-NetIPConfiguration -InterfaceIndex 17
New-NetIPAddress -IPAddress (New Ip address) -PrefixLength (Current Prefix length) -DefaultGateway $ip.IPv4DefaultGateway
在powershell中,事情并不总是看起来的那样。为了可读性,可以过滤屏幕上的对象显示。就像这里:
PS> Get-NetIPConfiguration -InterfaceIndex 8
InterfaceAlias : Wi-Fi
InterfaceIndex : 8
InterfaceDescription : Intel(R) Dual Band Wireless-AC 8265
NetProfile.Name : xxxxxx
IPv4Address : 10.0.0.26
IPv6DefaultGateway :
IPv4DefaultGateway : 10.0.0.251
DNSServer : 10.0.0.251
212.54.35.25
212.54.40.25
似乎IPv4DefaultGateway只是一个包含ip地址的字符串。但事实并非如此:
PS> (Get-NetIPConfiguration -InterfaceIndex 8).ipv4defaultgateway
ifIndex DestinationPrefix NextHop RouteMetric ifMetric PolicyStore PSComputerName
------- ----------------- ------- ----------- -------- ----------- --------------
8 0.0.0.0/0 10.0.0.251 0 45 ActiveStore
现在您可以看到IPv4DefaultGateway有成员,NextHop是包含网关实际ip地址的成员。有时你需要剥开物体来找出里面有什么。此处不使用,但Get Member
在这些问题上非常有用
因此,您需要的代码是:
$ip = Get-NetIPConfiguration -InterfaceIndex 17
New-NetIPAddress -IPAddress (New Ip address) -PrefixLength (Current Prefix length) -DefaultGateway $ip.IPv4DefaultGateway.NextHop
不清楚您期望的是什么,对我来说,这会返回一个对象:
Get NetIPConfiguration | Where object{$\ IPv4DefaultGateway-或$\ IPv6DefaultGateway}格式列表*
您的问题包含额外/更新的信息,不要将其放入注释中。感谢它起到了作用。是否有我可以阅读的文档或是你用来理解它的经验法则?我将编辑我的答案来解释如何找到像这样的东西