如何判断一个PSObject中是否定义指定名称的属性,下面的代码中举出了三个方法
代码语言:javascript复制$test=New-Object PSObject -Property @{
compiler=$null
}
#方法一(不完全靠谱)
$test.compiler -ne $null
#方法二
(Get-Member -inputobject $test -name "compiler" ) -ne $null
#方法三
($test.PSobject.Properties.name -match "compiler")
上面三个方法,
方法一虽然最简单却不完全靠谱,因为如果compiler是$null
时,返回结果是错的。
靠谱的办法是二和三,
而方法三要求powerShell 3.0以上的版本才有效
参考:
https://stackoverflow.com/questions/26997511/how-can-you-test-if-an-object-has-a-specific-property