- PowerShell功能特点
- PowerShell历史
- PowerShell和命令提示符的区别
- PowerShell与Bash Shell的区别
- PowerShell以管理员身份运行
- Windows PowerShell ISE
- PowerShell核心
- 创建并运行PowerShell脚本
- PowerShell注释
- PowerShell Cmdlet
- PowerShell基本cmdlet命令
- PowerShell Get-childItem命令
- PowerShell Get-Item命令
- PowerShell Get-Location命令
- PowerShell set-item命令
- PowerShell set-location命令
- PowerShell new-item命令
- PowerShell copy-item命令
- PowerShell move-item命令
- PowerShell remove-item命令
- PowerShell rename-item命令
- PowerShell add-content命令
- PowerShell clear-content
- PowerShell get-content命令
- PowerShell get-date命令
- PowerShell set-content命令
- PowerShell out-file命令
- PowerShell write-host命令
- PowerShell get-command命令
- PowerShell invoke-command命令
- PowerShell get-help命令
- PowerShell start-process命令
- PowerShell test-path命令
- PowerShell foreach-object命令
- PowerShell sort-object命令
- PowerShell where-object命令
- PowerShell变量
- PowerShell自动变量
- PowerShell首选项变量
- PowerShell数组
- PowerShell哈希表
- PowerShell运算符
- PowerShell算术运算符
- PowerShell赋值运算符
- PowerShell比较运算符
- PowerShell逻辑运算符
- PowerShell重定向运算符
- PowerShell拆分和合并运算符
- PowerShell if语句
- PowerShell if-else语句
- PowerShell else-if语句
- PowerShell Switch语句
- PowerShell Do-While循环
- PowerShell for循环
- PowerShell ForEach循环
- PowerShell While循环
- PowerShell Continue和Break
- PowerShell字符串
- PowerShell函数
- PowerShell Try Catch Finally
PowerShell Cmdlet
cmdlet发音为:”command-lets”,它是在PowerShell环境中使用的轻量级命令。 这些是在PowerShell环境中实现特殊功能的特殊命令。cmdlet遵循“动词-名词”模式,例如:set-childItem
。
Windows PowerShell运行时在命令行中提供的自动化脚本的上下文中调用这些命令。 它还通过Windows PowerShell应用程序编程接口API以编程方式调用它们。
1. Cmdlet是什么?
PowerShell中的cmdlet
执行操作,并将Microsoft .NET Framework对象返回到管道中的下一个命令。 Cmdlet
可以接收对象作为输入,也可以将结果输出为对象,这使其适合用作管道中的接收者。
如果编写cmdlet
,则必须实现一个cmdlet
类,该类派生自两个专门的cmdlet
基类之一。 派生类必须:
- 声明一个属性,该属性将派生类标识为
cmdlet
。 - 定义用属性标识的公共属性,这些属性将公共属性标识为
cmdlet
的参数。 - 要处理记录,它会覆盖一种或多种输入处理方法。
- 可以使用
Import-Module cmdlet
来直接加载包含该类的程序集,或者可以创建一个主机应用程序,该主机应用程序使用System.Management.Automation.Runspaces.Initialsessionstate
API来加载该程序集。 两种方法都提供对cmdlet
功能的编程访问和命令行访问。
2. Cmdlet术语
Windows PowerShell cmdlet中经常使用的术语如下:
Cmdlet属性
Windows PowerShell定义了几个用于向cmdlet添加通用功能的属性。 它包括cmdlet属性,该属性将Microsoft .NET框架类标识为cmdlet类。
Cmdlet参数
它提供了允许cmdlet访问输入的机制。参数可以直接从命令行接受输入,也可以接受通过管道传递给cmdlet的对象。
参数集
在同一命令中使用一组参数来执行特定操作。 PowerShell中的cmdlet可以具有多个参数集,但是每个参数集必须至少具有一个唯一参数。
Windows PowerShell使用参数集允许编写一个cmdlet,该cmdlet可以针对不同的方案执行不同的操作。 参数集让我们可以根据参数向用户公开不同的参数; 它返回用户指定的不同信息。
动态参数
动态参数会在运行时添加到cmdlet。 通常,当另一个参数的参数设置为特定值时,会将这些参数添加到cmdlet。
输入处理方式
输入处理方法允许cmdlet执行输入处理,预处理和后处理的操作。 cmdlet用来处理其记录的那些方法将作为输入接收。 输入处理方法包括System.Management.Automation.Cmdlet.EndProcessing
方法,System.Management.Automation.Cmdlet.ProcessRecord
方法和System.Management.Automation.Cmdlet.BeginProcessing
方法。
事务
逻辑命令组被视为单个任务。 如果组中的任何命令失败,任务将自动失败。 用户可以选择拒绝或接受在事务中执行的操作。 Windows PowerShell版本2.0中引入了对事务的支持。
3. Cmdlet与命令有什么区别?
cmdlet在以下方面与其他命令Shell程序环境中的命令不同:
- 通常,命令不支持其解析,输出格式或错误表示。 Windows PowerShell运行时处理这三种(解析,输出格式或错误表示)。
- cmdlet从管道而不是从字符流处理输入对象,并且
cmdlet
将输出对象传递到管道。 - Cmdlet一次处理一个对象,因此它们是面向记录的。
- Cmdlet是.NET Framework类的实例,因此它们不是独立的可执行文件。
上一篇:PowerShell注释
扫描二维码
程序员编程王