了解对象:Get-membert
get-member是非常有用的一个cmdlet,它可以显示某个命令返回的.net对象信息。该信息包括对象的类型、属性和方法。
前面曾经介绍过,powershell处理的是.net对象而不是文本。也就是说ps把输入和输出的内容都看成是对象,而对象的功能当然要远强于静态的文本。比如:get-service可以获得系统中的所有System.ServiceProcess.ServiceController对象。而这些对象都有各自的属性。如果想获取这些对象的属性,就要在get-service后面加一个管道,再输入get-member即可。即:
get-service|get-member
此命令中,get-service可以把system.serviceprocess.servicecontroller这一个类中所有的内容显示出来。而管道后的get-member就可以得到这个类所有的成员。但这里的成员指的是这一个类中所有对象共同的方法和属性。大家可以查询:[url]http://msdn2.microsoft.com/zh[/url],进入后输入你要查找的类名,就可以找到类的所有特征,包括这个类中对象的信息。
如果想列出特定服务的属性值,就可以输入:
(get-service 服务名).属性,例如:
(get-service alerter).status
(get-service alerter).canpauseandcontinue
若要显示 Alerter 服务的 CanPauseAndContinue 属性的名称和值列表,请键入:
get-service alerter|format-list –property name,canpauseandcontinue(由可知,在get-service中要获取多个属性,就需要用”,”进行分隔)
若要显示 Alerter 服务的所有属性值的列表,请键入:
get-service alerter |format-list property *
若要以表格方式显示所有服务的CanPauseAndContinue 属性的名称和值表,请键入:
get-service |format-table property name,canpauseandcontinue
Method 类型表示对象的方法,即可以对对象执行的操作。例如,ServiceController 对象具有 Stop 方法,使用该方法可以停止服务。
若要调用服务对象的方法,请使用以下格式。(教程中要求方法名后务必包括圆括号,但我在使用时发现输入圆括号无法得到结果,所以我都没有加)。
(get-service 服务名).方法名,例如:
(get-service schedule).stop
有关 Get-Member 命令的信息,请键入:
get-help get-member -detailed。