gpt4 book ai didi

powershell - 输出单行多行CimInstance

转载 作者:行者123 更新时间:2023-12-02 12:43:40 25 4
gpt4 key购买 nike

我正在尝试找到一个完整的解决方案来使用 Get-CimInstance Win32_NetworkAdapter 捕获信息并将其保存到服务器上的表中。目前我正在使用下面的代码:

$SerialNum = Get-CIMInstance WIN32_BIOS | SELECT -ExpandProperty SerialNumber 
Get-CimInstance Win32_NetworkAdapter | Select-Object * |
Export-Csv S:\$SerialNum-NetAdptr.csv -Force -NoTypeInformation
Import-Csv S:\$SerialNum-NetAdptr.csv |
Select-Object *, @{Name='Serial';Expression={Get-CIMInstance WIN32_BIOS | Select-Object -ExpandProperty SerialNumber}} |
Export-Csv S:\$SerialNum-NetAdptrSerialized.csv -Force -NoTypeInformation
Remove-Item S:\$SerialNum-NetAdptr.csv

我遇到的问题是具有多个网卡的计算机输出多行,因此输出如下:

$NetAdptrINF = Get-CIMInstance Win32_NetworkAdapter | Select-Object *
$objRecordSet.Fields.Item("ProductName").Value = ($NetAdptrINF.ProductName).ToString()

$objRecordSet.Fields.Item("ProductName").Value = $NetAdptrINF.ProductName

在字段中保存类似于:System[].object 的内容。我一直在考虑使用 foreach 一次打印每个网络适配器属性的一行,但无法获得任何远程工作的信息。我正在使用 Windows 10 ADK 中捆绑的 PowerShell。

$NetAdptrInf.ProductName 输出:

Microsoft 内核调试网络适配器
英特尔(R) 双频无线 AC 7260
英特尔(R) 以太网连接 I217-LM
Microsoft Wi-Fi Direct 虚拟适配器
Microsoft 托管网络虚拟适配器
微软 ISATAP 适配器
Microsoft Teredo 隧道适配器
微软 ISATAP 适配器
微软 ISATAP 适配器
VirtualBox 仅主机以太网适配器

我需要能够输出一个 ProductName 将其与从 Win32_NetworkAdapter 收集的其他信息一起保存到记录中,然后移至下一个并重复。

谢谢。

最佳答案

根据$NetAdptrINF的评估如下:

$NetAdptrINF = Get-CIMInstance Win32_NetworkAdapter

您可以使用以下命令来检索产品名称的文本列表:

($NetAdptrINF | % { $_.productname}) -join ','
<小时/>

编辑:

如果您想按产品名称获取记录:

Get-CIMInstance Win32_NetworkAdapter | Select-Object DeviceId,Name,Productname,ServiceName,AdapterType

关于powershell - 输出单行多行CimInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516049/

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