此代碼在導出爲CSV時會爲IPAddress字段輸出「System.String []」輸出。我知道這個問題的解決方案是加入該領域,但我基於用戶選擇的設置動態選擇對象,所以我不知道如何解決它。任何幫助表示讚賞。WMI Export-CSV爲IP地址創建System.String(動態選擇對象)
$colItems = GWMI Win32_NetworkAdapterConfiguration -computername $PCname -namespace "root\CimV2" -filter "IpEnabled = TRUE"
###Define Settings Array
$settings_array = @()
Foreach ($objItem in $chklstGetMIPRet.CheckedItems)
{$settings_array += [String]$objItem}
#####
###Export to CSV
$colItems | Select-Object -Property $settings_array | export- csv "$ScriptDir\Exports\$Outputfile" -NoType
$ chklstGetMIPRet是一個檢查列表框,用戶可以選擇他們希望顯示哪些WMI類。 $ chklstGetMIPRet.CheckedItems包含該檢查列表框中當前選中的所有值。所以在foreach經過和每個檢查項目的補充,價值$ settings_array
編輯:
此代碼:
$prop_list = @{"MACAddress" = "MACAddress"}
$prop_list += @{"Caption" = "Caption}
$prop_list += @{"IPAddress" = $colItems.IPAddress -join ', '}
Foreach ($objItem in $chklstGetMIPRet.CheckedItems)
{$exp_settings_array += $prop_list[$objItem]}
$colItems | Select-Object -Property $exp_settings_array | export-csv "$ScriptDir\Exports\$Outputfile" -NoType
除非它出口,我得到的標題和MACADDRESS正確帶有標籤但IPAddress只是將實際IP輸出到沒有標籤的頂行。
$ chklstGetMIPRet是一個檢查列表框,用戶可以選擇他們希望顯示哪些WMI類。 $ chklstGetMIPRet.CheckedItems包含該檢查列表框中當前選中的所有值。所以foreach通過,併爲每個檢查項目添加該值$ settings_array – Thomas 2013-03-08 18:31:34