0

我正在尝试自动化 Paketbeat 安装,但在 Windows 上需要做的事情之一是您需要找到活动网络适配器的设备 ID。可以使用 查询设备列表.\packetbeat devices

一个示例输出是:

PS C:\Program Files\packetbeat> .\packetbeat.exe 设备
0:\Device\NPF_NdisWanIp(NdisWan 适配器)(未分配 ip 地址)
1:\Device\NPF_NdisWanBh(NdisWan 适配器)(未分配 ip 地址)
2:\Device\NPF_{DD2F4800-0DEB-4A98-A302-0777CB955DC1}(AsyncMac 适配器)(未分配 IP 地址)
3:\Device\NPF_NdisWanIpv6(NdisWan Adapter)(未分配ip地址)
4:\Device\NPF_{5B8B7F6A-EF39-4D95-A3A5-4BF70077E936}(VMware vmxnet3虚拟网络设备)(12.54.26.105)
5:\Device\NPF_{B8522370-3DA7-4F29-91FC-0718181D5661}(MS 环回驱动程序)(0.0.0.0)

在上述用例中,我需要检索4. 或者

PS C:\Program Files\packetbeat> .\packetbeat.exe 设备
0:\Device\NPF_NdisWanIp(NdisWan 适配器)(未分配 ip 地址)
1:\Device\NPF_NdisWanBh(NdisWan 适配器)(未分配 ip 地址)
2:\Device\NPF_{DD2F4800-0DEB-4A98-A302-0777CB955DC1}(AsyncMac 适配器)(未分配 IP 地址)
3:\Device\NPF_{8E8A32C0-6E4D-46ED-9723-9D656A26D1F5}(EMULEX)(12.54.18.145)
4:\Device\NPF_NdisWanIpv6(NdisWan适配器)(未分配IP地址)
5:\Device\NPF_{83485D06-422D-4558-AC88-5D0EB800BB1C}(MS 环回驱动程序)(fe80::ezeb:459b:61a4:c175 0.0.0.0)
PS C:\Program Files\packetbeat> .\packetbeat.exe 设备 | 选择对象

在上述用例中,我需要检索3. 我很想根据设备 ID 找到带有 PowerShell 的 ID,该设备 ID 的 IP 配置以12.45.

4

1 回答 1

1

使用-match运算符过滤以匹配 IP 地址结尾的行的输出,然后将该行拆分为冒号并从结果数组中选择第一个元素:

((packetbeat.exe devices) -match '\(12\.54\.\d+\.\d+\)$' -split ':')[0]
于 2018-01-16T09:01:22.233 回答