我环顾四周并尝试以表格形式显示 NIC 卡的(-interfaceAlias
或)以及 IP 地址。-Name
我尝试使用Get-NetAdaptor
和Get-NetIpaddress
命令,可以看到可以获取名称或地址,但不知道如何同时获取两者
PS C:\Windows\system32> get-Netadapter | get-Netipaddress | Format-table
ifIndex IPAddress PrefixLength PrefixOrigin SuffixOrigin AddressState PolicyStore
------- --------- ------------ ------------ ------------ ------------ -----------
66 fe80::dc2e:7d51:e01b:6d1b%66 64 WellKnown Link Deprecated ActiveStore
66 169.254.109.27 16 WellKnown Link Tentative ActiveStore
60 fe80::8963:5f37:4a1f:9afc%60 64 WellKnown Link Deprecated ActiveStore
60 172.22.32.1 27 Manual Manual Tentative ActiveStore
60 169.254.154.252 16 WellKnown Link Tentative ActiveStore
25 fe80::a50a:7a1c:3f49:f5df%25 64 WellKnown Link Deprecated ActiveStore
25 169.254.245.223 16 WellKnown Link Tentative ActiveStore
25 169.254.2.1 23 Manual Manual Tentative ActiveStore
25 169.254.1.1 23 Manual Manual Tentative ActiveStore
39 fe80::4c52:9107:fa8c:eb00%39 64 WellKnown Link Deprecated ActiveStore
39 169.254.235.0 16 WellKnown Link Tentative ActiveStore
21 fe80::c059:d2f1:5cec:f910%21 64 WellKnown Link Preferred ActiveStore
21 192.168.3.1 27 Manual Manual Preferred ActiveStore
72 fe80::60e7:8001:9fa7:b080%72 64 WellKnown Link Deprecated ActiveStore
75 fe80::e86f:786b:3a49:ba98%75 64 WellKnown Link Deprecated ActiveStore
72 169.254.176.128 16 WellKnown Link Tentative ActiveStore
72 20.20.20.1 24 Manual Manual Tentative ActiveStore
75 169.254.186.152 16 WellKnown Link Tentative ActiveStore
8 fe80::b4e4:5199:3074:7db%8 64 WellKnown Link Preferred ActiveStore
8 192.168.248.1 23 Manual Manual Preferred ActiveStore
14 fe80::3ceb:65cb:1e1:aa57%14 64 WellKnown Link Preferred ActiveStore
14 192.168.213.1 24 Manual Manual Preferred ActiveStore
4 fe80::5133:490b:9810:6fa%4 64 WellKnown Link Preferred ActiveStore
这给出了正确的输出。然后我想使用下面的代码来获得 Netadaptor 的名称
PS C:\Windows\system32> get-Netadapter -name "$localName1"
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Onboard_A_SCADA_Route1 Intel(R) Ethernet Connection (2) I21... 22 Disconnected 00-30-A7-21-2D-3D 0 bps
我想要做的是合并或格式化输出
PS C:\Windows\system32> get-Netadapter -Name "*" | Format-List -property "name", "Ipaddress"
name : TEAM_PCI5 _(B)-PCI5_(C)_61850_Mirror
name : TEAM_PCI4_(C)-PCI4_(D)_OTN_Copadata
name : TEAM-PCI4_(A)-PCI4_(B)-SCADA Mirror
这只给了我名字,而不是 ipaddress
我也尝试过
Get-netadpater -name "$localName1" | Get-IPaddress
或者
Get-netadpater -name "$localName1" | Get-IPaddress |Format-Table
都不显示输出。
我在网上查找并尝试了各种方法,也查看了 Microsoft 帮助,但不知道该如何组合。如能得到任何帮助,我将不胜感激。
答案1
你需要Select-Object
来实现你想要的。
此
Select-Object
cmdlet 选择一个对象或一组对象的指定属性。它还可以选择唯一对象、指定数量的对象或数组中指定位置的对象。
当我想获取特定属性时,我总是使用以下命令运行我想要的命令fl *
(别名为Format-List *
)获取所有存在的返回属性。例如:
PS C:\Windows\system32> Get-NetAdapter | Get-NetIPAddress | fl *
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
Type : Unicast
Store : ActiveStore
AddressFamily : IPv4
AddressState : Preferred
ifIndex : 14
Caption :
Description :
ElementName :
InstanceID :
CommunicationStatus :
DetailedStatus :
HealthState :
InstallDate :
Name : ;:8:8:8;>:55;>55;55;
OperatingStatus :
OperationalStatus :
PrimaryStatus :
Status :
StatusDescriptions :
AvailableRequestedStates :
EnabledDefault : 2
EnabledState :
OtherEnabledState :
RequestedState : 12
TimeOfLastStateChange :
TransitioningToState : 12
CreationClassName :
SystemCreationClassName :
SystemName :
NameFormat :
OtherTypeDescription :
ProtocolIFType : 4096
ProtocolType :
Address :
AddressOrigin : 0
AddressType :
IPv4Address : 10.0.0.140
IPv6Address :
IPVersionSupport :
PrefixLength : 24
SubnetMask :
InterfaceAlias : Ethernet
InterfaceIndex : 14
IPAddress : 10.0.0.140
PreferredLifetime : 6.21:47:25
SkipAsSource : False
ValidLifetime : 6.21:47:25
PSComputerName :
CimClass : ROOT/StandardCimv2:MSFT_NetIPAddress
CimInstanceProperties : {Caption, Description, ElementName, InstanceID...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
然后我就知道哪些属性符合我的需求,我可以选择我想要的属性。您可以使用:
Get-NetAdapter | Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress | Format-Table
但请记住,Format-Table
仅用于查看。如果您需要对返回的属性执行其他操作,请省略Format-Table
。