如下说明是翻译
PowerShell
中
: help Get-Member
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Get-Member
大纲
取得对象或者对象集合的信息
.
语法
Get-Member [[-name] <string[]>] [-inputObject <psobject>] [-memberType {<AliasProperty> | <CodeProperty> | <Property> | <NoteProperty> | <ScriptProperty> | <Properties> | <PropertySet> | <Method> | <CodeMethod> | <ScriptMethod> | <Methods> | <ParameterizedProperty> | <MemberSet> | <All>}] [-static] [<CommonParameters>]
详细描述
取得对象成员的信息
. Get-Member
可以从管道或参数
InputObject
的值接受输入对象
.
你可以使用参数
MemberType
来指定你想要查看的成员类型
.
如果你通过管道输入给
Get-Member,
后者为不同的输入对象输出一个单独的
MemberDefinition
对象
.
例如
,
如果你将在包含至少
1
个目录和
1
个文件的目录中执行
Get-ChildItem
的结果通过管道发送给
Get-Member,
后者将会返回两个
MemberDefinition
对象
.
一个包含了
FileInfo
对象的信息
,
然而另一个包含了
DirectoryInfo
对象的信息
.
无论该目录中包含多少文件或子目录
, Get-Member
都只会返回两个
MemberDefinition
对象
.
如果你通过参数
InputObject
指定输入时
, Get-Member
的输出将会与从管道输入产生不同
.
此时
, Get-Member
只返回一个单独
MemberDefinition
对象
,
该对象表示一个单独的输入对象或者表示保存了多个对象的集合对象
.
要取得静态成员
,
您必须使用
Static
参数
.
参数
-name <string[]>
指定要取得信息的成员名称
.
强制参数
?
|
false
|
参数位置
?
|
1
|
默认值
|
*
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
true
|
-inputObject <psobject>
指定要取得信息的对象
.
使用此参数为
Get-Member
提供输入
,
将会导致与通过管道线输入产生不同的结果
.
当你使用管道向
Get-Member
提供输入
,
如果输入是一个容器
,
此
cmdlet
为容器中每个不同的类型返回相关信息
.
如果你使用
InputObject
参数提供同样的输入
,
此
cmdlet
返回关于容器对象本身的信息
.
如果你希望通过管道传递方法取得容器的信息
,
你必须为管道输入的信息前面加上一个逗号
(,).
例如
,
如果你的信息是存储于名为
$process
变量中的进程信息
,
你应该输入
,$process | get-member
来取得容器的相关信息
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
true (
根据值
)
|
允许通配符扩展
?
|
false
|
-memberType <PSMemberTypes>
指定要取得信息的成员类型
.
合法成员类型为
: AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet
和
All.
此参数接受如下列表中的值
:
·
AliasProperty
·
CodeProperty
·
Property
·
NoteProperty
·
ScriptProperty
·
Properties
·
PropertySet
·
Method
·
CodeMethod
·
ScriptMethod
·
Methods
·
ParameterizedProperty
·
MemberSet
·
All
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
All
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
true
|
-static <SwitchParameter>
指定取得静态属性和静态方法
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
False
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
输入类型
Any object
注意
更多信息
,
输入
"Get-Help Get-Member -detailed".
需要技术信息
,
输入
"Get-Help Get-Member -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, <parameter-name> <value1>, <value2>".
例
1
C:/PS>get-process | get-member -MemberType property
此命令显示
.Net Framework Class Library
中
System.Diagnostics.Process
对象
(Get-Process Cmdlet
返回的对象类型
)
的属性
.
例
2
C:/PS>$alias = get-alias
$alias | get-member
get-member -inputobject $alias
此命令显示
Get-Alias cmdlet
返回的
AliasInfo
对象信息
.
它将别名信息保存在变量
$alias
中
.
变量
$alias
通过管道传递给
Get-Member cmdlet,
后者现实是
AliasInfo
对象成员的信息
.
接下来它使用
InputObject
参数
,
并将变量
$alias
作为参数的值
,
这是为了揭示使用此方法提供信息时
,
将会显示关于容器对象
System.Object
数组的信息
.
例
3
C:/PS>get-process | get-member | get-member
此命令显示
Get-Member
返回的
MemberDefinition
对象的信息
. Get-Process cmdlet
用来取得进程列表
,
它为第一次调用
Get-Member
提供输入
.
此调用的结果是一个
MemberDefinition
对象
,
它通过管道传递给
Get-Member.
结果显示
MemberDefinition
对象的相关信息
.
相关链接
Add-Member
Get-Help
Get-Command
Get-PSDrive