gpt4 book ai didi

powershell - 为什么是Get-DnsClientServerAddress |选择AddressFamily输出不是IPv4和IPv6

转载 作者:行者123 更新时间:2023-12-02 23:00:52 30 4
gpt4 key购买 nike

当我输入 cmdlet Get-DnsClientServerAddress 时,我会得到我的电脑拥有的所有接口(interface),例如

InterfaceAlias               Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet 7 IPv4 {10.10.15.40, 10.10.25.44}

所以当我输入 Get-DnsClientServerAddress |其中 AddressFamily -Like“4” 我希望看到以太网适配器。

但由于某种原因它没有出现。所以我输入了 Get-DnsClientServerAddress |选择AddressFamily,我得到的是

AddressFamily
-------------
2
23
2
23

谁能给我解释一下吗?

最佳答案

正如您所发现的,AddressFamily 使用(不明显的)编号方案在内部进行分类,其中 IPv4 地址的类型为“2”。这来自底层 WMI 类型 ( MSFT_DNSClientServerAddress ),不是 PowerShell 的问题。

默认显示通过将其转换为 IPv4 等来帮助您,但您无法对其进行过滤,因为它仅用于显示。但是,如果您使用正确的值,您仍然可以进行过滤:

Get-DnsClientServerAddress | Where-Object AddressFamily -Like 2

这种用于显示目的的数据格式化在 PowerShell 中始终发生,并通过 Format.ps1xml 实现。文件。例如,以表格和列表格式比较 Get-Process 的工作集值的输出:

PS C:\> Get-Process powershell 

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
662 31 97928 110256 1.27 11452 2 powershell



PS C:\> Get-Process powershell | Format-List *

Handles : 705
VM : 2204040044544
WS : 113082368
PM : 100356096
NPM : 31512

该属性(为方便起见,由 PowerShell 本身添加)称为 WS,但在表中显示为 WS(K),实际值以字节为单位存储,但以 KB 为单位显示,因此对默认输出进行了一些操作。

关于powershell - 为什么是Get-DnsClientServerAddress |选择AddressFamily输出不是IPv4和IPv6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56073174/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com