Свойство переменной вывода функции Powershell не работает должным образом

Я использую функцию Get-Diskfree, описанную здесь: https://binarynature.blogspot.com/2010/04/powershell-version-of-df-command.html

Я хочу суммировать все значения из столбца Используется, но когда я пытаюсь вызвать определенные свойства вывода Get-Diskfree, у меня ничего нет, ноль.

Функция показывает вывод следующим образом:

FileSystem : NTFS
Type       : Local Fixed Disk
Volume     : C:
Available  : somevalue
Computer   : somevalue
Used       : somevalue
Size       : somevalue

FileSystem : NTFS
Type       : Local Fixed Disk
Volume     : D:
Available  : somevalue
Computer   : somevalue
Used       : somevalue
Size       : somevalue

Я хочу иметь возможность вызывать свойство Used, анализируя выходные данные Get-Diskfree в переменной следующим образом:

function {...}
$variable = Get-Diskfree
$variable.Used

Последняя строка не дает мне никакого вывода, по сравнению, например, с:

$variable = get-service
$variable.Name
long list of service names

Функция (или функции в целом) разработана таким образом, что этот метод невозможно использовать?

Я планирую суммировать их, используя более менее метод, который я использовал в этом скрипте Powershell: System.Object[] в файле export-csv

Чего я хочу добиться, так это суммировать столбец Используется для первых 8 дисков (их 20 на виртуальной машине), экспортировать вывод в формате csv и отправить электронное письмо в формате html на основе этого файла csv.


person lubierzca    schedule 29.11.2018    source источник
comment
$variable = Get-Diskfree;$variable.Used работал на меня   -  person ArcSet    schedule 29.11.2018
comment
Чтобы получить первые 8 объектов из Get-Diskfree, используйте $variable = Get-Diskfree | Select-Object -First 8. Чтобы получить сумму столбца Used, это должно сделать это: $totalUsed = $variable | Measure-Object Used -sum | Select-Object -ExpandProperty Sum   -  person Theo    schedule 29.11.2018
comment
работает ли код в строке 55-57, когда вы вызываете его против своей виртуальной машины? именно этот код, а не какую-либо другую часть - это для диагностического тестирования. [усмехнуться]   -  person Lee_Dailey    schedule 29.11.2018
comment
@Lee_Dailey да, это работает при локальном запуске на vm.   -  person lubierzca    schedule 30.11.2018
comment
@ArcSet Хорошо, плохо, это действительно работает, когда я запускаю его локально на этой виртуальной машине. Не работает при подключении к подписке Azure на моем локальном компьютере.   -  person lubierzca    schedule 30.11.2018
comment
@lubierzca - я не спрашивал, работает ли он на виртуальной машине. [усмехается] он работает против виртуальной машины? Вы можете запустить команду в своей системе с именем виртуальной машины в параметре -ComputerName $computer и получить результат обратно. если НЕТ, то вы, вероятно, обнаружили проблему ... этот командлет может по какой-то причине не работать при вызове удаленной виртуальной машины. ///// исправление заключается в переключении на что-то, что действительно работает... например, использование Invoke-Command для запуска кода в удаленной системе.   -  person Lee_Dailey    schedule 30.11.2018