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]:: , [  ]::就能获得所有枚举值的提示了

 

posted on 2021-01-12 15:08  耀礼士多德  阅读(223)  评论(0编辑  收藏  举报