PowerShell学习笔记一_cmdlet、管道、如何入门

PowerShell文件:

.ps1 脚本文件

.psm1 模块文件

.psd1 模块描述文件

cmdlet(命令行)

组成:

动词-名词,例如:

1. Get-Service(获取所有服务),类似于:我的电脑-右键-管理-服务这个操作。

2. Get-Command(获取所有“命令"),注意不是"命令行",包括:

有几种命令类型。

3.  Get-Help Get-Service (获取Get-Service这个命令的帮助)

4. 命令行参数

必要参数:[-name]<string>,[-name]<string[]>等等

非必要参数:[-name<string>],[-name<string[]>]

(区别是大括号的位置,而对于<string[]>,有[],是可以输入多个参数)

例如:

5. 对象与管道,关键运算符号 ” | “

例子一:

例二:

 例三:

 解析:

Get-Service -Name Mysql :这里是获取了一个Mysql的服务对象

| Get-member -Name Name:这里是将服务对象,传递给一个Get-member的命令做实参,并且又设置Get-member的-Name参数为”Name“

类似于C# :

 GetService(Name=”mysql“).GetType().GetMember(Name="Name").GetType().GetMember(Name="Name")。

6. 获得或使用对象的属性

直接像C#那样就行了

7. Measure-Command

{

     脚本块

}

用于测量执行命令的时间


小结:

1. 使用命令获取的对象,可以通过管道传递,继续用命令操作。

2. 命令和函数,还是用明显的区别,起码传参方式就很不一样。


补充:

问1: 如何设置一个陌生的类型,的一个枚举属性值?

例如:

Get-Service -Name mysql|Get-Member

 假设Status是可以set的话,那么:

 使用[System.ServiceProcess.ServiceControllerStatus]:: , [  ]::就能获得所有枚举值的提示了

原文地址:https://www.cnblogs.com/pylblog/p/14267066.html