2015-12-29 80 views
3

我正試圖找到一個完整的解決方案來捕獲與Get-CimInstance Win32_NetworkAdapter信息並將其保存到服務器上的表。目前我使用如下代碼周圍:輸出單線多線CimInstance

$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 

我有與多個NIC輸出多行計算機,以便輸出一樣的問題:

$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 Kernel Debug Network Adapter Intel(R) Dual Band Wireless-AC 7260 Intel(R) Ethernet Connection I217-LM Microsoft Wi-Fi Direct Virtual Adapter Microsoft Hosted Network Virtual Adapter Microsoft ISATAP Adapter Microsoft Teredo Tunneling Adapter Microsoft ISATAP Adapter Microsoft ISATAP Adapter VirtualBox Host-Only Ethernet Adapter

我需要能夠輸出一個ProductName將其保存到與Win32_NetworkAdapter收集的其他信息一起記錄,然後移動到下一個和重複。

謝謝。

+1

什麼格式*您希望多網卡?每臺計算機都用逗號分隔列表? –

+0

$ NetAdptrINF等於什麼?請提供該變量的分配代碼。也許輸出$ NetAdptrINF.ProductName到控制檯 –

回答

0

根據該$NetAdptrINF作爲後續評估的事實:

$NetAdptrINF = Get-CIMInstance Win32_NetworkAdapter 

您可以使用以下中檢索產品名稱的文本列表:

($NetAdptrINF | % { $_.productname}) -join ',' 

編輯:

如果您想通過產品名稱獲得記錄:

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

這將有助於導出CSV文件,但是直接將信息發送到數據庫表中的記錄我目前需要能夠一次拉出一個產品名稱。 –