gle*_*ron 6 reflection powershell
我正在做一些Powershell脚本(第一次)来查看Sharepoint站点中的一些东西,我希望能够做的是查看对象的属性列表并输出它们的值以"property-name = value"的格式.
现在我可以使用这个找到元素列表:
$myObject | get-member -membertype property
Run Code Online (Sandbox Code Playgroud)
这将以非常清晰和可读的方式返回所有属性的列表.但我需要的是找到这些属性的值.
在一些脚本语言中,我可以有一种eval("$ myObject.$ propertyName")调用 - 我从get-member输出中提取$ propertyName - 并让它将字符串作为代码进行评估,这对于那种快速我需要的解决方案很好.
这是否存在于Powershell中,或者是否有更方便的方法?我应该使用反射吗?
要获取对象属性的值,可以使用多种方法.
首先,您可以使用Select-Object并使用-Property参数指定要返回的属性值.显示的方式取决于您指定的属性数量和对象的类型.如果您想要所有属性,可以使用通配符(*)来获取所有属性.
示例 -
$myobject | Select-Object -Property name, length
$myobject | Select-Object -Property *
Run Code Online (Sandbox Code Playgroud)
您还可以使用Format-List或Format-Table以类似的方式控制输出的格式.
示例 -
$myobject | Format-List -Property *
$myobject | Format-Table -Property name, length
Run Code Online (Sandbox Code Playgroud)
最后,要进行"eval"样式输出,您只需输入即可
$myobject."$propertyname"
Run Code Online (Sandbox Code Playgroud)
并返回该属性的值.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |