个性化阅读
专注于IT技术分析

什么是PowerShell Cmdlet?

本文概述

cmdlet”发音为命令集”是在PowerShell环境中使用的轻量级命令。这些是在PowerShell环境中实现特殊功能的特殊命令。 cmdlet遵循”动词-名词”模式, 例如” set-childItem”。

Windows PowerShell运行时在命令行中提供的自动化脚本的上下文中调用这些命令。它还通过Windows PowerShell应用程序编程接口API以编程方式调用它们。

Cmdlet

PowerShell中的cmdlet执行操作, 并将Microsoft .NET Framework对象返回到管道中的下一个命令。 Cmdlet可以接收对象作为输入, 也可以将结果输出为对象, 这使其适合用作管道中的接收者。

如果编写cmdlet, 则必须实现一个cmdlet类, 该类派生自两个专门的cmdlet基类之一。派生类必须:

  • 声明一个属性, 该属性将派生类标识为cmdlet。
  • 定义用属性标识的公共属性, 这些属性将公共属性标识为cmdlet的参数。
  • 要处理记录, 它会覆盖一种或多种输入处理方法。
    可以使用Import-Module cmdlet来直接加载包含该类的程序集, 或者我们可以创建一个宿主应用程序, 该主机应用程序使用System.Management.Automation.Runspaces.Initialsessionstate API来加载该程序集。两种方法都提供对cmdlet功能的编程访问和命令行访问。

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中引入了对事务的支持。

Cmdlet与命令有何不同

cmdlet在以下方面与其他命令外壳程序环境中的命令不同:

  • 通常, 命令不支持其解析, 输出格式或错误表示。 Windows PowerShell运行时处理这三种(解析, 输出格式或错误表示)。
  • cmdlet从管道而不是从字符流处理输入对象, 并且cmdlet将输出对象传递到管道。
  • Cmdlet一次处理一个对象, 因此它们是面向记录的。
  • Cmdlet是.NET Framework类的实例, 因此它们不是独立的可执行文件。

赞(1) 打赏
未经允许不得转载:srcmini » 什么是PowerShell Cmdlet?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏