Powershell 无法处理参数,因为参数“name”的值无效

Powershell 无法处理参数,因为参数“name”的值无效,powershell,Powershell,我试图把我的变量结果放在一个对象中,最终输出到一个csv文件中,如下所示 $output | Add-Member -MemberType NoteProperty -Name "Merk" -Value $Desktop.CsManufacturer $output | Add-Member -MemberType NoteProperty -Name "Model" -Value $Desktop.CsModel $output | Add-Member -MemberType NotePr

我试图把我的变量结果放在一个对象中,最终输出到一个csv文件中,如下所示

$output | Add-Member -MemberType NoteProperty -Name "Merk" -Value $Desktop.CsManufacturer
$output | Add-Member -MemberType NoteProperty -Name "Model" -Value $Desktop.CsModel
$output | Add-Member -MemberType NoteProperty -Name "S/n" -Value $Desktop.BiosSeralNumber

$output | Export-Csv -Path $GL\info.csv -NoTypeInformation -Append -Force
这只是整个代码的一部分

我的目标是有一个文件,我可以在PC上运行,首先从USB棒,然后从一个广告启动脚本,从桌面,显示器,操作系统提取数据,。。。并将其放在CSV文件中,但我总是得到一个错误,即无法处理参数,因为参数名称的值无效。这意味着上面代码中name的值有问题,我想是吧?我还是这方面的新手,所以我只是尝试一下


或者,如果有人看到我遇到困难,并且对如何在CSV文件中输出变量有更好的想法,请告诉我。

不要使用Add Member创建自定义PSObject,请尝试以下操作:

$OutPutArray = @()
foreach ($computer in $complist) {
    $output = [Ordered]@{
        "Make" = $computer.CsManufacturer
        "Model" = $computer.CsModel
        "S/n" = $computer.BiosSerialNumber
    }
    $OutPutArray += New-Object PSOBject -Property $output
}
$OutPutArray | Export-csv <path to file> -NoTypeInformation
使用[PSCustomObject]和foreach的直接指定输出编辑建议的备选方案

$OutPutArray = foreach ($computer in $complist) {
    [PSCustomObject]@{
        "Make"  = $computer.CsManufacturer
        "Model" = $computer.CsModel
        "S/n"   = $computer.BiosSerialNumber
    }
}
$OutPutArray | Export-csv <path to file> -NoTypeInformation

生成的对象是相同的,但效率稍高。

我假设您有一个正在运行此操作的计算机列表。我还没有列表,我正在创建此脚本以开始创建此处所有计算机的列表。是否可以在csv文件中获得响应,而不使用此脚本?只是为了在逗号上导入,为什么不直接将整个foreach分配给$OutPutArray,那么中间的$output就没有必要了。[ordered]=>[PSCustomObject]@LotPings,因此我尝试了类似的操作,$OutPutArray结果是一个OrderedDictionary对象,而不是您可能期望的PSCustomObject。我还没有开始处理这些问题,但是如果你只是简单地尝试$OutPutArray |导出Csv,那么你就不会得到你认为得到的东西。你发布的代码并不能解释你的症状。请尝试提供一个新的解决方案。