$tools
здесь будет содержать коллекцию объектов VM со свойствами Name
и ToolStatus
. $tools.ToolStatus
возвращает значение всех ToolStatus
свойств для каждого объекта в $tools
. Для сравнения одного значения с набором значений можно использовать оператор -contains
или -in
.
# Checking if any ToolStatus is toolsOld
if ($tools.ToolStatus -contains 'toolsOld') {
# Any number of VMs has a toolstatus of toolsOld
}
# Return the VM objects(s) that contain(s) toolStatus value of toolsOld
$tools | Where ToolStatus -eq 'toolsOld'
# Check Individual VMs for ToolStatus
foreach ($tool in $tools) {
if ($tool.ToolStatus -eq 'toolsOld') {
Write-Output "$($tool.Name) has a tool status of toolsOld"
}
}
# List ToolStatus Value for VM Name MyServer
$tools | Where Name -eq 'MyServer' | Select -Expand ToolStatus
($tools | Where Name -eq 'MyServer').ToolStatus
$tools.where({$_.Name -eq 'MyServer'}).ToolStatus
# List ToolStatus for all VMs
$tools.ToolStatus
При использовании Select-Object
вы создаете пользовательский объект со свойствами что вы выбрали. ToolStatus
здесь рассчитывается свойство. Несмотря на то, что синтаксис для создания свойства отличается от простого ввода имени свойства, вы все равно получаете его значение так же, как и любое другое свойство вашего объекта. Проще всего использовать оператор доступа к элементу .
в синтаксисе object.property
.