Powershell是什么?Powershell與CMD有什么區(qū)別?
在Win10系統(tǒng)下,很多朋友都接觸到了Windows Powershell,而測(cè)試發(fā)現(xiàn)Windows Powershell也有命令提示符的功能,那么Windows Powershell是什么?和CMD命令提示符有什么區(qū)別?下面小編收集了相關(guān)知識(shí),大家可以學(xué)習(xí)一下。
簡(jiǎn)單的說Windows Powershell可以實(shí)現(xiàn)命令提示符的所有功能,但是比命令提示符要強(qiáng)大的多。
在Windows 中的Windows PowerShell中進(jìn)行了以下更改:
1、新的 cmdlet:包含 100 多個(gè)新的 cmdlet,包括 Get-Hotfix、Send-MailMessage、Get-ComputerRestorePoint、New- WebServiceProxy、Debug-Process、Add-Computer、Rename-Computer、Reset- ComputerMachinePassword 和 Get-Rand
2、遠(yuǎn)程管理:可以使用一個(gè)命令在一臺(tái)計(jì)算機(jī)或數(shù)百臺(tái)計(jì)算機(jī)上運(yùn)行命令。 可以建立與單臺(tái)計(jì)算機(jī)的交互式會(huì)話。 還可以建立能從多臺(tái)計(jì)算機(jī)接收遠(yuǎn)程命令的會(huì)話。
3、Windows PowerShell 集成腳本環(huán)境 (ISE):一個(gè)圖形用戶界面,方便在同一個(gè)窗口中運(yùn)行命令并撰寫、編輯、運(yùn)行、測(cè)試和調(diào)試腳本。
4、后臺(tái)作業(yè):利用 Windows PowerShell 后臺(tái)作業(yè),可以“在后臺(tái)”異步運(yùn)行多個(gè)命令,從而可以繼續(xù)在會(huì)話中工作。 可以在本地或遠(yuǎn)程計(jì)算機(jī)上運(yùn)行后臺(tái)作業(yè),并可以本地或遠(yuǎn)程存儲(chǔ)結(jié)果。
5、調(diào)試程序:可以設(shè)置和刪除斷點(diǎn),逐步執(zhí)行代碼,檢查變量值,以及顯示調(diào)用堆棧跟蹤。
6、模塊:Windows PowerShell 模塊允許將 Windows PowerShell 腳本和函數(shù)組織到獨(dú)立單元中。 您可以將 cmdlet、提供程序、腳本、函數(shù)及其他文件打包到可分發(fā)給其他用戶的模塊中。 用戶安裝和使用模塊比安裝和使用 Windows PowerShell 管理單元更加方便。 模塊可以包括任何類型的文件,包括音頻文件、圖像、幫助文件和圖標(biāo)。 模塊在單獨(dú)的會(huì)話中運(yùn)行,以避免名稱沖突。
7、事務(wù):Windows PowerShell 現(xiàn)在支持事務(wù),從而允許按邏輯單元管理一組命令。 可以提交事務(wù),也可以完全撤銷事務(wù),使事務(wù)不更改受影響的數(shù)據(jù)。
8、事件:Windows PowerShell 包括新事件基礎(chǔ)結(jié)構(gòu),該事件基礎(chǔ)結(jié)構(gòu)允許創(chuàng)建事件,訂閱系統(tǒng)和應(yīng)用程序事件,然后同步和異步偵聽、轉(zhuǎn)發(fā)和操作事件。
9 高級(jí)函數(shù):高級(jí)函數(shù)的行為很像 cmdlet,不過是使用 Windows PowerShell 腳本語言而不是 C# 編寫的。
10、腳本國(guó)際化:腳本和函數(shù)可用多種語言向用戶顯示消息和幫助文本。
11、聯(lián)機(jī)幫助:除了命令行中的幫助之外,Get-Help cmdlet 具有一個(gè)新的 Online 參數(shù),使用該參數(shù)可以打開 Microsoft TechNet 上每個(gè)幫助主題的完整、更新的版本。
舉例介紹
如果您第一次聽說過PowerShell,想稍微觀望下,且看下面的10個(gè)例子。
[數(shù)學(xué)計(jì)算] (39+79-51)*497/28 = ?
心算再快,應(yīng)當(dāng)也沒有敲回車鍵快吧:
1
2
|
PS > (39+79-51)*497/28 1189.25 |
[日期] 距離下一個(gè)情人節(jié)還有多少分鐘?
我知道距離多少天好算,如果變成分鐘呢?
1
2
3
4
5
6
7
8
|
$now = Get-Date $day =[datetime] '2-14' if( $now -lt $day ){ $day .Subtract( $now ).TotalMinutes } else{ $day .AddYears(1).Subtract( $now ).TotalMinutes } |
[容量] 3GB > 3145726KB嗎 ?
1
2
|
PS > 3gb -gt 3145726kb True |
[ID]能產(chǎn)生一個(gè)GUID嗎?
1
2
3
4
5
|
PS > [guid]::NewGuid() Guid ---- 0f283ab4-f402-400c-98ce-359442f11f1a |
[文件] Windows目錄下所有可執(zhí)行文件exe的大小是多少?
1
|
dir $env :windir -Filter *.exe | measure -Sum Length |
[注冊(cè)表] 注冊(cè)表路徑HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFramework 下 ‘Enable64Bit'的值是多少?
1
|
( Get-ItemProperty -Path hklm:SOFTWAREMicrosoft.NETFramework ).Enable64Bit |
[證書] 指紋為[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的證書在證書存儲(chǔ)區(qū)嗎?
1
2
|
ls Cert:LocalMachineMy | where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' } |
[服務(wù)] 打印機(jī)服務(wù)有沒有啟動(dòng)呢?
1
|
Get-Service spooler |
[進(jìn)程] 當(dāng)前運(yùn)行了多少個(gè)IE進(jìn)程?
1
|
( Get-Process iexplore ).count |
[報(bào)表] 將所有運(yùn)行的進(jìn)程信息導(dǎo)出為HTML報(bào)表?
1
|
Get-Process | ConvertTo-Html | Out-File a.html |
現(xiàn)在知道了powershell的強(qiáng)大了吧,在windows平臺(tái)powershell還是比較好用的。
總結(jié):
cmd命令提示符窗口(cmd.exe)是Windows的“標(biāo)配”組件,它可以實(shí)現(xiàn)用戶與操作系統(tǒng)的直接交流,并負(fù)責(zé)用戶輸入的所有命令的解釋和支持。
PowerShell是跨平臺(tái)的,cmd是Windows專用的。
PowerShell有面向?qū)ο蟮墓艿馈?/p>
PowerShell能夠調(diào)用.NET的很多功能。