2016-08-04 7 views
0

Я запускаю команду ниже Powershell, чтобы получить доступ к ресурсам каждой виртуальной машины.Как установить мои результаты для скриптов в виде строк

Measure-VM -Name * | select-object -property VMName, MeteringDuration, AverageProcessorUsage, AverageMemoryUsage, TotalDiskAllocation 

Меня беспокоит то, что результирующий набор возвращается в виде строк, а не как каждое свойство в качестве столбцов.

РЕЗУЛЬТАТ

  • VMname
  • MeteringDuration
  • ...
  • ...

ОЖИДАНИЯ VMname MeteringDuration ... ...

Поскольку I хотите скопировать res Я надеялся, что есть способ смягчить это. Заранее спасибо за помощь!

ответ

2

PowerShell наилучшим образом угадает формат, когда он отображает вывод. Если вы экспортируете в Excel, CSV, любой другой формат, то, что вы видите на экране, не играет никакой роли.

То есть, если у вас есть это в консоли:

Get-Thing 

Property1: one 
Property2: two 
Property3: three 

Запуск этого еще будет совершенно нормально:

Get-Thing | Export-Csv Things.csv 

Просто избегать попыток создать файл с помощью Формат- * и перенаправлять и все будет хорошо.

+0

Благодарим за отзыв. Можно ли интегрировать сценарий, указанный выше, в сценарий, который я использую? Кроме того, может ли Powershell выполнять экспорт, даже если на сервере не установлено MS Office? –

+0

Export-Csv всегда будет работать, он не имеет внешних зависимостей. Письмо в файл с полным содержанием жира сложнее и нуждается в других вещах. Например, у меня есть писатель, основанный на библиотеке epplus, другие реализации могут использовать сам Excel (и поэтому требуют Office). Export-Csv проще :) 'Measure-VM -Name * | select-object -property VMName, MeteringDuration, AverageProcessorUsage, AverageMemoryUsage, TotalDiskAllocation | Export-Csv C: \ Temp \ YourFile.csv' –

+0

Пока вы экспортировали его в csv, вы можете легко разделить его на разделитель в MS Excel. Вы не можете экспортировать свои данные в документ XLS/XLSX без внешних DLL или объектов Com, которые потребуют установки MS Excel. –