You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Get-WmiObject查询结果正确输出保存到文本文件

PowerShell查询应用信息输出到文本文件的修正方案

错误原因

Format-List属于面向控制台输出的格式化命令,返回结果为PowerShell内部格式化渲染对象,而非原始的应用信息数据。直接将这类对象插入自定义字符串时,就会输出对象的类型名而非你需要的属性内容。

修正代码

# 先获取符合条件的原始应用数据,不要提前调用Format系列命令
$appList = Get-WmiObject -Class Win32_Product | Where-Object vendor -EQ "myVendor" | Select-Object Name, Version, Description

# 将应用列表转为自定义格式的文本
$formattedAppList = $appList | ForEach-Object {
    "名称:$($_.Name)`n版本:$($_.Version)`n---"
}

# 拼接最终输出内容
$outputContent = @"
File created $((Get-Date).ToUniversalTime().ToString('yyyy-MM-dd'))

$($formattedAppList -join "`n")
"@

# 输出到文件,指定UTF8编码避免乱码
$outputContent | Out-File -FilePath "my/output/path" -Encoding UTF8

可选优化方案

  • PowerShell 5.1及以上版本推荐用Get-CimInstance Win32_Product替代已废弃的Get-WmiObject,执行效率和稳定性更佳
  • 如果需要结构化存储便于后续处理,可直接导出为CSV文件:
$appList | Export-Csv -Path "my/output/path/app_list.csv" -Encoding UTF8 -NoTypeInformation

内容的提问来源于stack exchange,提问作者user16908085

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:45:06