往期回顾
PowerShell系列(一):PowerShell介绍和cmd命令行的区别
PowerShell系列(二):PowerShell和Python之间的差异介绍
PowerShell系列(三):PowerShell发展历程梳理
PowerShell系列(四):PowerShell进入交互环境的三种方式
PowerShell系列(五):PowerShell通过脚本方式运行笔记
PowerShell系列(六):PowerShell脚本执行策略梳理
PowerShell系列(七)PowerShell当中的Provider介绍
PowerShell系列(八)PowerShell系统默认内置的Provider介绍
PowerShell 是一种用于操作 系统的命令行界面,支持跨平台,它提供了许多功能来自动化和优化各种任务。PowerShell 是由微软官方开发的,并作为 Windows Server 操作系统的一部分提供。 使用 PowerShell,您可以执行许多运维操作,例如创建、编辑、查看和删除文件和文件夹,管理用户和计算机,配置网络设置,运行系统命令,自动化测试和部署等。今天继续给大家分享PowerShell系列教程。
上一篇文章讲解了PowerShell系统默认内置的Provider的相关知识,今天给大家介绍PPowerShell Cmdlet概念介绍.
今天给大家讲解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命令的更加人性化便于理解,如果没有使用别名的情况下,它的命令格式统一都是
动词+名词
这样
的格式
更容易书写也更容易理解。
执行如下命令:
查询当前环境支持的命令
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
Alias End-WebCommitDelay 1.0.0.0 WebAdministration
Alias Flush-Volume 2.0.0.0 Storage
Alias Get-AppPackage 2.0.1.0 Appx
Alias Get-AppPackageDefaultVolume 2.0.1.0 Appx
Alias Get-AppPackageLastError 2.0.1.0 Appx
Alias Get-AppPackageLog 2.0.1.0 Appx
Alias Get-AppPackageManifest 2.0.1.0 Appx
Alias Get-AppPackageVolume 2.0.1.0 Appx
Alias Get-AppProvisionedPackage 3.0 Dism
Alias Get-DiskSNV 2.0.0.0 Storage
Alias Get-Language 1.0 LanguagePackManagement
Alias Get-PhysicalDiskSNV 2.0.0.0 Storage
Alias Get-PreferredLanguage 1.0 LanguagePackManagement
Alias Get-ProvisionedAppPackage 3.0 Dism
Alias Get-ProvisionedAppxPackage 3.0 Dism
Alias Get-StorageEnclosureSNV 2.0.0.0 Storage
Alias Get-SystemLanguage 1.0 LanguagePackManagement
Alias Initialize-Volume 2.0.0.0 Storage
Alias Mount-AppPackageVolume 2.0.1.0 Appx
Alias Move-AppPackage 2.0.1.0 Appx
Alias Move-SmbClient 2.0.0.0 SmbWitness
Alias Optimize-AppProvisionedPackages 3.0 Dism
Alias Optimize-ProvisionedAppPackages 3.0 Dism
Alias Optimize-ProvisionedAppxPackages 3.0 Dism
Alias Remove-AppPackage 2.0.1.0 Appx
Alias Remove-AppPackageVolume 2.0.1.0 Appx
Alias Remove-AppProvisionedPackage 3.0 Dism
Alias Remove-EtwTraceSession 1.0.0.0 EventTracingManagement
Alias Remove-ProvisionedAppPackage 3.0 Dism
Alias Remove-ProvisionedAppxPackage 3.0 Dism
Alias Remove-ProvisioningPackage 3.0 Provisioning
Alias Remove-TrustedProvisioningCertificate 3.0 Provisioning
Alias Set-AppPackageDefaultVolume 2.0.1.0 Appx
Alias Set-AppPackageProvisionedDataFile 3.0 Dism
Alias Set-AutologgerConfig 1.0.0.0 EventTracingManagement
Alias Set-EtwTraceSession 1.0.0.0 EventTracingManagement
Alias Set-PreferredLanguage 1.0 LanguagePackManagement
Alias Set-ProvisionedAppPackageDataFile 3.0 Dism
Alias Set-ProvisionedAppXDataFile 3.0 Dism
Alias Set-SystemLanguage 1.0 LanguagePackManagement
Alias Write-FileSystemCache 2.0.0.0 Storage
Function A:
Function Add-BCDataCacheExtension 1.0.0.0 BranchCache
Function Add-BitLockerKeyProtector 1.0.0.0 BitLocker
Function Add-DnsClientNrptRule 1.0.0.0 DnsClient
Function Add-DtcClusterTMMapping 1.0.0.0 MsDtc
Function Add-EtwTraceProvider 1.0.0.0 EventTracingManagement
Function Add-InitiatorIdToMaskingSet 2.0.0.0 Storage
Function Add-MpPreference 1.0 ConfigDefender
Function Add-MpPreference 1.0 Defender
Function Add-NetEventNetworkAdapter 1.0.0.0 NetEventPacketCapture
Function Add-NetEventPacketCaptureProvider 1.0.0.0 NetEventPacketCapture
Function Add-NetEventProvider 1.0.0.0 NetEventPacketCapture
Function Add-NetEventVFPProvider 1.0.0.0 NetEventPacketCapture
Function Add-NetEventVmNetworkAdapter 1.0.0.0 NetEventPacketCapture
Function Add-NetEventVmSwitch 1.0.0.0 NetEventPacketCapture
Function Add-NetEventVmSwitchProvider 1.0.0.0 NetEventPacketCapture
Function Add-NetEventWFPCaptureProvider 1.0.0.0 NetEventPacketCapture
Function Add-NetIPHttpsCertBinding 1.0.0.0 NetworkTransition
Function Add-NetLbfoTeamMember 2.0.0.0 NetLbfo
Function Add-NetLbfoTeamNic 2.0.0.0 NetLbfo
Function Add-NetNatExternalAddress 1.0.0.0 NetNat
Function Add-NetNatStaticMapping 1.0.0.0 NetNat