PowerShell系列(九)PowerShell Cmdlet概念介绍

2023-11-17 16:00:03 浏览数 (3)

今天给大家讲解PowerShell Cmdlet概念介绍,希望对大家学习PowerShell能有所帮助!

一、概念

大家可能对cmd命令比较熟悉cmd就是Windows系统命令行窗口执行的命令,微软为了和传统的Shell命令区分,所以重新起了一个名词“Cmdlet”专门给PowerShell配套使用,Cmdlet可以理解为在PowerShell环境中执行的命令,并且依赖于PowerShell环境才可以执行。

注意:Cmdlet必须有Net环境支持,否则就会报错。

二、传统的CMD和Cmdlet命令的区别

传统CMD是32位的命令行程序【cmd.exe】,继承DOS操作模式,是Windows系统的‘标配’组件,可执行Windows命令和BAT文件,CMD只能执行基本的任务,本身并没有集成太多的功能。

Cmdlet是PowerShell的命令,所有的cmdlet命令都遵循动词-名词这样语法结构,PowerShell提供了Get-Command这个强大的命令,可以查找所有的cmdlet命令。它拥有强大的第三方类库支持,可以实现非常复杂的运维任务和数据处理分析。

三、Cmdlet说明

属于Net类实例化编译后的可执行脚本程序。

Cmdlet不负责错误处理和数据输出,依赖于PowerShell本身的运行环境来处理

Cmdlet采用管道进行对象处理,而非文本数据流,也支持把Cmdlet的执行结果作为对象传递到管道。

Cmdlet一次只能面对一个对象实现处理操作

四、PowerShell支持执行的命令

PowerShell功能非常强大也了兼容旧版的cmd shell,具体支持下面几种类型的命令

Cmdlet命令:Cmdlet命令属于PowerShell的“亲儿子”,所有命令都可以支持,还包括基于PowerShell构建的别名命令。

CMD命令:为了兼容旧版的命令行窗口,支持出别名以外所有的命令。所以大家使用cmd 别名命令要注意一下。

Bat脚本:对应cmd shell支持的bat脚本,它也支持。

VBS脚本:也支持VBS脚本命令的执行。

Function:当然也支持PowerShell Function的功能函数。

五、Cmdlet命令的特点

Cmdlet命令的更加人性化便于理解,如果没有使用别名的情况下,它的命令格式统一都是

动词 名词 这样的格式更容易书写也更容易理解。

执行如下命令:

查询当前环境支持的命令

代码语言:javascript复制
get-command

CommandType Name Version Source

----------- ---- ------- ------

Alias Add-AppPackage 2.0.1.0 Appx

Alias Add-AppPackageVolume 2.0.1.0 Appx

Alias Add-AppProvisionedPackage 3.0 Dism

Alias Add-ProvisionedAppPackage 3.0 Dism

Alias Add-ProvisionedAppxPackage 3.0 Dism

Alias Add-ProvisioningPackage 3.0 Provisioning

Alias Add-TrustedProvisioningCertificate 3.0 Provisioning

Alias Apply-WindowsUnattend 3.0 Dism

Alias Begin-WebCommitDelay 1.0.0.0 WebAdministration

Alias Disable-PhysicalDiskIndication 2.0.0.0 Storage

Alias Disable-StorageDiagnosticLog 2.0.0.0 Storage

Alias Dismount-AppPackageVolume 2.0.1.0 Appx

Alias Enable-PhysicalDiskIndication 2.0.0.0 Storage

Alias Enable-StorageDiagnosticLog 2.0.0.0 Storage

0 人点赞