Проблема с объявлением переменных в powershell - PullRequest
0 голосов
/ 18 мая 2019

Я объявил 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

1 Ответ

0 голосов
/ 20 мая 2019

То, что там происходит, выглядит так (просто общая картина):

  1. Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'Wolters Kluwer Financial Services'" создает объект WMI и передает его следующей команде

  2. Select-Object Name, Vendor, Version преобразует этот объект в новый объект типа PSCustom (более похожий на табличную версию вашего объекта WMI с только необходимой информацией)

Тогда становится грязно:

  • если вы используете write-host или отображаете его на экране, вывод будет отформатирован в соответствии с настройками powershell (эти настройки можно изменить, изменив xml-файлы)

  • если вы используете export-csv, вы в основном используете convertto-csv | out-file c:\sometheing.txt + некоторые правила форматирования, которые применяются . (Я думаю, что тип файла UTF-8 изменен, но я не уверен ...)

Поэтому, если вы хотите точно знать, как будет выглядеть ваша переменная / файл, без необходимости использовать форматирование PowerShell, мешающее вашей работе, используйте convertto-csv | out-file.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...