Проблема с типом данных при экспорте настроек BIOS в файл CSV - PullRequest
0 голосов
/ 24 мая 2019

У меня возникла проблема с экспортом строки в файл CSV. Мой сценарий удаленно получает настройки BIOS с ноутбука Lenovo с помощью запросов WMI и PowerShell. И я экспортирую результат в файл CSV. Все настройки экспортируются великолепно, но «AvailableSettings» (параметры настройки BIOS), похоже, сталкиваются с проблемой несоответствия типов.

Выходной файл выглядит так:

CurrentSetting,"Status","AvailableSettings"
WakeOnLAN,"ACOnly","System.String[]"
EthernetLANOptionROM,"Enable","System.String[]"

Код:

$Computers = Get-Content -Path C:\temp\ComputerList.txt

foreach ($Computer in $Computers) {
    $Computer = $Computer -replace "`t|`n|`r",""

    $Get_manufacturer = (Get-WmiObject -ComputerName $Computer Win32_Computersystem).Manufacturer

    if ($Get_manufacturer -like "*lenovo*") {
        $manufacturer = "Lenovo"
        $selections = Get-WmiObject -ComputerName $Computer -Class Lenovo_GetBiosSelections -Namespace root\wmi
        $resultsLenovo = Get-WmiObject -ComputerName $Computer -Class Lenovo_BiosSetting -Namespace root\wmi | Where-Object CurrentSetting | ForEach-Object {
            $parts = $_.CurrentSetting.Split(',')
            [PSCustomObject]@{
                CurrentSetting = $parts[0]
                Status = $parts[1]
                AvailableSettings = $selections.GetBiosSelections($parts[0]).Selections.Split(',')
            }
        }

        $resultsLenovo | Export-Csv -Path "C:\temp\$Computer-BIOS-settings.csv" -NoTypeInformation -Delimiter ',' -Encoding ASCII
    }
    Clear-Variable -Name manufacturer
}

Также есть другие IF для других производителей, но я не включил их в этот фрагмент кода здесь.

При выводе результата в Out-GridView, похоже, он работает просто отлично.

Результат должен быть таким:

CurrentSetting,"Status","AvailableSettings"
WakeOnLAN,"ACOnly","Disable, ACOnly, ACandBattery, Enable"
EthernetLANOptionROM,"Enable","Disable, Enable"

Любые идеи, где я напутал и как отсортировать типы?

...