Power Shell 学习笔记(二)所谓对象
来源:互联网 发布:python echarts 编辑:程序博客网 时间:2024/05/21 15:09
处理对象
虽然您最初可能没有意识到,但是在 Windows PowerShell 中工作时,所使用的是 .NET 对象。随着您经验的增加,对象处理能力变得更明显,而且您发现自己使用的是对象,甚至用对象进行思考。
从技术上讲,.NET 对象是 .NET 类的实例,包含数据以及与该数据关联的操作。但是,可以将对象视为具有属性(与特性类似)和方法(可以对对象执行的操作)的数据实体。
例如,在 Windows PowerShell 中获取服务时,实际上是获取表示该服务的对象。查看有关服务的信息时,所查看的是其服务对象的属性。此外,启动服务时(即,在将服务的 Status 属性更改为“started”时),所使用的是服务对象的方法。
类型相同的所有对象都具有相同的属性和方法,但是对象的每个实例可能具有不同的属性值。例如,每个服务对象都具有 Name 和 Status 属性。但是,每个服务都可以具有不同的名称和不同的状态。
准备就绪后,了解对象是很容易的。若要查明 cmdlet 正获取对象的类型,请使用管道运算符 (|) 将“get”命令的结果发送到 Get-Member 命令。例如,以下命令将 Get-Service 命令检索的对象发送到 Get-Member。
get-service | get-member
Get-Member 显示有关服务对象的信息,其中包括对象的类型名称及其属性和方法的列表。
若要获取有关对象类的信息,请在 MSDN 中复制并粘贴类型名称,如 System.ServiceProcess.ServiceController。找到类后,可以阅读 MSDN 副主题,以了解基于该类的对象(如 Windows PowerShell 中的对象)的属性和方法。
批注:
其实仔细观察一下,就可以猜到他的处理思想。其实每一个cmdlet(Get)获取到得信息都是通过一个.net的Object对象形式返回的。你可以理解为,我们在用ps的脚本写cs的代码。只不过程序不需要编译。ps的处理思想就是基于对象这样一种方式。首先,得到对象,然后通过(Property,不需要我解释了吧)设置对象,通过(Method)操作对象。Get-member是一个很有用的方法,当你获取到一个对象,不知道可以对他进行什么操作的时候,试着用一下他好了。我一般记不住这么多属性和方法的,多数都是想好思路,然后调试一下脚本。
若要查找特定对象的所有属性的值,请使用管道运算符 (|) 将“get”命令的结果发送到 Format-List 或 Format-Table 命令。将 format cmdlet 的 Property 参数与表示所有的值 (*) 一起使用。例如,若要查找系统上 Schedule 服务的所有属性,请键入:
get-service schedule | format-list -property *
以下显示一个结果示例。
批注:
首先获取到 schedule这个Service的对象,然后设置一下输出的List的Format,格式为只显示Property(和它的值)。
最初学习 Windows PowerShell 时,无需了解有关对象的任何信息,但是要意识到该概念。您将很快能够充分利用对象。
了解对象:Get-Member
Get-Member 是最有用的 cmdlet 之一,它显示有关命令返回的 .NET 对象的信息。该信息包括对象的类型、属性和方法。
若要使用 Get-Member,请使用管道运算符 (|) 将命令结果发送到 Get-Member。例如:
get-service | get-member
此命令显示 Get-Service 实际上返回了一组 System.ServiceProcess.ServiceController 对象 -- 计算机上的每个服务都有一个对象。
此信息看起来技术性很强,但是它实际上非常实用。
· 通过类型名称(如“System.ServiceProcess.ServiceController”)可以知道 cmdlet 返回什么类型的 .NET 对象。若要获取有关此 .NET 类中对象的信息,请将类型名称粘贴在 MSDN 上的“Search”(搜索)文本框中。关联的 MSDN 主题包括有关此类中对象的属性和方法的信息,其中包括 Get-Service 返回的对象。
· Property 类型表示对象的属性。每个属性的值是有关服务对象的信息。例如,ServiceController 对象具有 CanPauseAndContinue 属性。该属性的 MSDN 说明解释,该属性指示是否可以暂停和恢复服务。
若要列出特定服务的属性值,请键入:
(get-service <服务名称>).<属性名称>
例如:
(get-service MSSQLServer).canpauseandcontinue
若要显示 MSSQLServer 服务的 CanPauseAndContinue 属性的名称和值列表,请键入:
get-service MSSQLServer| format-list -property name, CanPauseAndContinue
若要显示 MSSQLServer 服务的所有属性值的列表,请键入:
get-service MSSQLServer | format-list -property *
若要显示所有服务的 CanPauseAndContinue 属性的名称和值表,请键入:
get-service | format-table -property name, CanPauseAndContinue
· Method 类型表示对象的方法,即可以对对象执行的操作。例如,ServiceController 对象具有 Stop 方法,使用该方法可以停止服务。
若要调用服务对象的方法,请使用以下格式。(务必包括圆括号)。
(get-service <服务名称>).<方法名称>()
(get-service MSSQLServer ).stop()
同理
(get-service MSSQLServer ).start()
有关 Get-Member 命令的信息,请键入:
get-help get-member -detailed。
如果熟悉.net编程的人员的话,很容易上手吧。
- Power Shell 学习笔记(二)所谓对象
- Power Shell 学习笔记(四)对象管道
- js学习二,所谓对象
- Power Shell 学习笔记
- Power Shell 学习笔记(三)变量
- Power Shell 学习笔记(一)先了解下Cmdlet
- Power Shell 学习笔记(五)运算符
- Shell学习笔记(二)
- shell学习笔记(二)
- shell 学习 笔记(二)
- shell 学习笔记 (二)
- shell学习笔记(二)
- Shell学习笔记(二)
- shell学习笔记(二):shell 语法
- shell学习笔记(二):《Unix Shell编程》学习笔记
- shell学习笔记二
- shell学习笔记二
- Scala学习笔记(六)所谓Symbol
- 使用Java调用以WSDL形式发布的web service
- see
- poi操作word文档
- 类类型
- 泡妞高手经典秘技之:日后再说
- Power Shell 学习笔记(二)所谓对象
- Qt Ui 头文件研究
- Warning: Unexpected character in input: '' (ASCII=21) state=1 in /usr/local/php/bin/php-cgi on line 383
- Java编码问题完全解决方案
- Tech memo of imx27 pdk(3) -- For network and rootfs mounting problems
- AutoHotKey变量使用方法
- PHP 获取指定日期星期几
- Android UI学习 - ListView
- 如何快速搜索本博客的文章