我已经声明了2个PowerShell变量
$prm=Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'Wolters Kluwer Financial Services'" | Select-Object Name, Vendor, Version
$rgteng=Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'WKFS'" | Select-Object Name, Vendor, Version
我希望将此变量输出到文本文件o / p @{Name=Wolters Kluwer Financial Services Regulatory Reporting FRA Param 11.2.0; Vendor=Wolters Kluwer Financial Services; Version=11.2.0}
,我希望将此o / p输出到文本文件。
我尝试使用Write-Output
和Write-Host
,但没有一个给出正确的o / p
答案 0 :(得分:0)
那里发生的事情看起来像这样(只是大图):
Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'Wolters Kluwer Financial Services'"
创建一个WMI对象并将其通过管道传递到下一个命令
Select-Object Name, Vendor, Version
将该对象转换为新的PSCustom类型对象(更像是WMI对象的表版本,仅具有所需的信息)
然后变得混乱:
如果您使用写入主机或将其显示在屏幕上,则输出将根据Powershell的设置进行格式化(可以通过更改xml文件来更改这些设置)
如果您使用export-csv
,则基本上会使用convertto-csv | out-file c:\sometheing.txt
+ 一些已应用的格式设置规则。 (我认为文件的UTF-8类型已更改,但我不确定...)
因此,如果您想确切地了解变量/文件的外观,而又没有Powershell格式干扰您的工作,请使用convertto-csv | out-file
。