В дополнение к zdan's helpful answer[1] с альтернативами:
Если вы просто хотите значение имущества данного объекта, в просто обернуть команду в (...)
и использовать .<propertyName>
:
(Get-ItemProperty 'C:\Program Files\McAfee').LastWriteTime # returns a [datetime] instance
В PSv3 + выше также работает с командами, возвращающими несколько элементов (массивов), и в этом случае выводится массив значений индивидуальных значений входных элементов.
PSv3 ввел синтаксис ярлыка для %
/ForEach-Object
(а также ?
/Where-Object
), которые могут быть использованы здесь, а также:
Get-ItemProperty 'C:\Program Files\McAfee' | % LastWriteTime # ditto
Это эквивалентно более многословным (который также работает в PSv2-):
Get-ItemProperty 'C:\Program Files\McAfee' | % { $_.LastWriteTime }
Эти два трубопровода на основе синтаксических форм медленнее, но имеют два преимущества:
Большие коллекции материалов лучше обрабатываются в трубопроводах один за другим, чтобы поддерживать постоянство памяти (если это возможно; если вам нужно собрать весь вывод в памяти, нет никаких преимуществ).
Этот синтаксис однозначно ссылается свойство отдельного элемента «s, а не свойство коллекции как целого.
- Е.Г.,
(Get-ChildItem -File C:\Windows).Length
возвращает количество файлов в C:\Windows
, потому что Length
интерпретируется как коллекции свойству объекта (массива);
наоборот, Get-ChildItem -File C:\Windows | % Length
возвращает массив значений отдельных файлов «.Length
(размер файла).
[1] Для того, чтобы разработать немного: Select-Object [-Property] <string[]>
возвращает пользовательский объект (экземпляр типа, производного от [pscustomobject]
имени Selected.<originalFullTypeName>
) для каждого объекта ввода, содержащий только указанные свойства ; даже с указанным единственным свойством, результатом являются пользовательские объекты с этим единственным свойством, а не сами значения свойств.
Напротив, использование -ExpandProperty <string>
вместо [-Property] <string[]>
возвращает заданное значение одного свойства из каждого входного объекта (набирается как-есть).