大多數用戶從未聽說過PowerShell,更不用說觸摸它並試用了。這可能是因為這個名字,聽起來像是隻有鐵桿IT極客才會使用的東西。或者是因為PowerShell的好處還不清楚。可能是因為最初的學習曲線。
事實上,是的,大多數普通的電腦用戶不需要PowerShell的力量。但是如果您有任何編程經驗,或者如果您喜歡命令行而不是圖形窗口,或者如果您喜歡使用腳本自動化任務,那麼您將喜歡PowerShell提供的功能。
簡而言之,如果您通過批腳本穿越命令提示符,加入一些額外的功能,並將其踢上幾個缺口,PowerShell就是您將得到的。好奇嗎?下面是幾個你應該嘗試的堅實理由。
與批處理腳本一樣,PowerShell腳本只是寫入純文本文件的指令行,只是該文件使用.PS1擴展名而不是.BAT或.CMD擴展名。但這就是相似之處的終結。
批處理腳本有一個巨大的限制:您只能使用命令提示符中的命令。或者換句話說,批處理腳本只是一系列命令提示符命令(其中包含一些條件邏輯)。這對於原始任務和簡單的自動化是很好的,但是當你想做一些複雜的事情時,這是一個真正的障礙。
另一方面,PowerShell腳本是使用PowerShell腳本語言編寫的,這是一種真正的編程語言,能夠為真正高級的任務提供詳細的邏輯。語言本身很容易學習,特別是如果你有編程經驗的話,但是它支持變量、函數、循環、異常處理等等。
這裡還有一點需要注意,PowerShell ISE(集成腳本環境)比常規命令提示符有了很大的改進。它有一些很好的生活質量特性,在編寫腳本時非常有用,例如語法高亮顯示、自動完成、選項卡式編輯和上下文相關幫助。
總之,PowerShell不僅允許您編寫更好的腳本,還允許您更快地編寫腳本。
PowerShell的大部分功能和靈活性來自於它與.NET框架的集成。每個PosiS殼命令(稱為CMDLet)實際上是在運行時調用的.Net類,這意味著CMDLet可以用任何.NET語言編寫(這篇文章中包括VisualBasic、VisualC++和C語言)。
那麼.NETAPI支持有什麼好處呢?
好吧,.NETAPI充滿了驚人的實用程序和函數,它們被組織成一組標準類庫。您可以利用API的這些方面來幫助您完成諸如收集輸入或管理數據之類的工作,而無需自己重寫所有這些幫助程序。
PowerShell與.NET API以及內置到PowerShell中的各種提供程序一起,還允許您深入瞭解Windows生態系統的最深層部分,包括文件系統、註冊表和證書存儲。因此,PowerShell cmdlet和腳本可以做的遠不止批處理腳本。
也許最有趣的是PowerShell允許您通過管道將一個cmdlet的輸出作為對象輸入到另一個cmdlet。大多數其他shell(包括Bash)只能將信息以純文本形式從一個命令傳遞到另一個命令。PowerShell的方法更乾淨、更緊湊,而且不容易出錯。
如果以上原因還不能說服你,那麼我相信這一個會的。
PowerShell不是基於命令提示符構建的。這兩個shell的底層架構完全不同,因此將PowerShell視為“Command Prompt 2.0”或其他什麼在技術上是錯誤的。但是,PowerShell的設計是向後兼容的。
命令提示符中使用的大多數常用命令都可以在PowerShell中使用。在引擎蓋下,PowerShell實際上具有內置的cmdlet等價項,它們的腳本可以執行與這些命令完全相同的操作,但使用別名將舊命令名“連接”到新cmdlet。
例如,在PowerShell中運行cd時,實際上是在運行Set-Location cmdlet。在本例中,“cd”只是“Set Location”的別名,這使您的生活更輕鬆。類似地,在PowerShell中使用rename時,它會祕密運行rename-Item cmdlet。
因此,毫不奇怪,您可以在PowerShell中運行批處理腳本,這意味著您可以從批處理腳本過渡到PowerShell腳本,而不必完全放棄所有內容。
PowerShell在2006年首次推出。如今,十多年後,它已經上升為微軟最重要的項目之一。支持它的團隊正在努力使它成為最好的shell,微軟也在盡最大努力推動它的採用,尤其是在it專業人士中。
展望未來,PowerShell將成為Windows和Microsoft企業級產品中自動化任務和應用程序的主要方法。這是一個非常嚴肅的舉動,甚至第三方供應商也開始提供PowerShell庫來幫助管理和排除軟件故障。
但最重要的是,微軟一直在增加一些認證考試中與PowerShell相關的問題。事實上,根據TechNet雜誌2009年的一次採訪,微軟表示“未來幾年Windows管理員需要的最重要的技能是熟練使用Windows PowerShell。”
因此,無論您是高級家庭用戶還是管理Windows系統的IT專家,都應該接受批處理腳本已經過時,PowerShell才是未來。
在過去的幾年裡,微軟在開源軟件領域做出了許多令人驚訝的舉動。2014年,他們將.NET框架開源,並在多個平臺上提供。然後在2016年,他們將Bash shell本地集成到windows10中。
2017年,PowerShell在Linux上的安裝變得前所未有的簡單。在撰寫本文時,Microsoft現在已經有了軟件包存儲庫,可以用來在大多數主流版本的Linux上安裝PowerShell Core。如果您的系統支持apt-get或yum,那麼您很可能可以輕鬆安裝它。如果沒有,您仍然可以使用舊的安裝說明。
為什麼這是個好消息?因為你的PowerShell知識將不再侷限於一個操作系統。批處理腳本只能在Windows上運行(或者通過Wine在Linux上運行,我們不建議這樣做),因此它是有限制的,而PowerShell現在可以幫助您擴展專業知識。
相信了嗎?如果不是,那就好了。正如我前面所說,PowerShell不是每個人都可以使用的,如果您很高興使用批處理腳本供個人使用,請隨時使用它們。但是如果你想繼續掌握不斷髮展的技術,如果你想成為一名經過認證的IT專家,學習PowerShell更多的是時間,而不是如果。
如果您確實想開始,那麼從這些簡單而直接的基本PowerShell命令開始。一旦掌握了這些,就可以繼續執行這些可以使用PowerShell自動化的任務,並學習如何處理PowerShell錯誤。這應該足夠讓你開始了。
學習程式設計的關鍵第一步是使用迴圈。謝天謝地,PowerShell將隨著您的技能不斷增長。 ...
... 對更多感興趣?看看為什麼PowerShell可能比批處理指令碼更好。 ...
檔案加密和解密可以是一個工作位。但是,使用PowerShell擴充套件,可以將程序精簡為一行命令。為此,我們需要安裝Gpg4win和Powershell模組。使用指令碼,我們可以自動化檔案加密和解密過程。 ...
...的熱鍵和巨集。不要忘記作業系統級別:批處理指令碼、PowerShell指令碼、bash指令碼等等。 ...
...個可能的原因是,你有一個資料夾,你儲存檔案,但你不使用這些檔案,一旦你完成了他們的工作。您可以設定一個規則,自動將檔案從該資料夾移到計算機上的存檔資料夾。 ...
...所需要的!如果只想在系統有空閒資源時執行程序,可以使用批處理。 如何安排linux作業 cron守護程序維護它在特定時間執行的作業列表。這些任務和程式按預定時間在後臺執行。這為您安排需要重複的任務提供了極大的靈活...
...執行Windows命令。 您可以將Bash命令合併到批處理指令碼或PowerShell指令碼中,這非常方便。有關所有這些和更多資訊,請參閱我們的指南,以在Windows 10中bash指令碼。 從linux shell外部執行linux命令 相關:如何在windows10上從bashshell...