微軟準備開源PowerShell

微軟有計劃在近期內開源PowerShell

近日微軟再次在向開源投出橄欖枝, PowerShell是面向Windows和Windows Server的自動化平臺和腳本語言,幫助用戶簡化系統的管理。在納德拉的帶領下微軟也逐漸走向開放,根據相關爆料稱微軟有計劃在近期內 開源該腳本語言。php

知名Windows爆料人士WalkingCat和Tom Hounsell在推文都分享了他們的發現。Tom在包的元數聽說明中注意到這樣一段話:「PowerShell是開源、跨平臺、腳本語言和豐富的對象Shell。」可是目前還沒有獲得微軟官方證明。
html

PowerShell已經開源了?

問:微軟的PowerShell腳本語言已經開源了 ?java

答:絕對真的!已經!python

問:源碼在哪?linux

答:微軟.net源碼網站。   http://referencesource.microsoft.com/nginx

問:爲何在哪裏?shell

答: powershell自己是基於.net的。是System.Management其中的一個類。編程

問:powershell源碼如何看?windows

答:在 namespaces 搜索欄輸入  bash

System.Management.Automation.PowerShell

System.Management.Automation.ScriptBlock 等。

問:powershell有什麼特點?

答:cmd(bat)中有命令行管道。vbs中有面向對象。 powershell至關於bat+vbs。既有命令行和管道,又有面向對象。並極大加強了命令。至關於linux中的bash+python。

面向對象比字符串增長了屬性和方法。 返回的屬性,比字符串粒度更小,更嚴禁細緻。讓你寫腳本不用扣字符串。 方法讓你不用編程,就有相關功能。

問:可否介紹下windows命令行的歷史?

答: win2000時代:基本上只有圖形功能,而對應的命令缺失。

win2003時代:圖形功能,基本都有對應的命令。但只限於win。

win2008時代:除了win以外的微軟軟件中。圖形功能,而對應的命令基本全了。但還都是面向字符串的。

win2012時代:從新造全部輪,用全部powershell命令代替全部字符串命令。使windows命令行全面進化到【面向對象】階段。 

winxp:cmd命令行。

win7:基本powershell。

win8.1:全面【面向對象】。

win10:更全面,連剪貼板都面向對象了! 

問:powershell的缺點是什麼?

答: 依賴高版本windows。 

問:兼容老版CMD?

答:1 語法不兼容cmd和bat。powershell語法更佳。

2 全部外部命令都兼容。好比ping.exe等。 

問:powershell源碼的字體和配色,看起來有點矮醜挫,咋辦?

答:用powershell ise 高大上 【字體 + 配色文件】。  

問:powershell比CMD(bat)強在哪?

答:

1 語法方面。語法簡單。有函數,功能強大。

2 有正則,有查找,替換,切割,有大字符串對象,更適合於處理字符串。

3 有多線程併發,多進程併發。有計時器。有圖形界面。

問:powershell比python如何?

答:

1 python能夠跨平臺,powershell暫時不能,這是缺點。

2 powershell爲win峯。win本地深耕比python深。而python有些獨有的linux功能powershell沒有。

2.1 有管理dns服務器,dhcp服務器,打印機,網卡,域服務器,exchange服務器管理命令。這些python不行。

2.2 .net內置圖形界面【System.Windows.Forms】powershell開發圖形界面比python容易。

3 手冊中文,開發工具中文,調試功能佳。不容易亂碼等。   

問:powershell比linux bash如何?

答:

1 bash中沒有屬性方法,python中沒有管道命令行。假如python帶有命令行管道,bash跪不?

2 bash中有多線程,計時器,圖形界面? 

問:我據說linux命令比win多,更全,對麼?

答:

win中命令更多,更全面,linux不行。

1 powershell命令比linux多得多。

2 linux軟件中,不少命令缺失。不能【修改軟件運行時的配置】。

2.1 上述exchange服務器,命令手冊在:    https://technet.microsoft.com/zh-cn/library/bb124413.aspx    500多條命令,哪一個linux郵件服務器能比?

2.2 給bind服務器中的一個dns域中的一個域名,添加一個ip。如何用命令實現?

3 linux軟件依賴配置文件,可是有些命令只能【修改軟件運行時的配置】。而沒有【導出單個配置到文件】,【導出全部配置到文件】的功能。

3.1 win2012中的iis管理命令中有Backup-WebConfiguration,Clear-WebConfiguration,Get-WebConfiguration,Restore-WebConfiguration。這些命令 今年出的nginx中有對應的命令麼? 

問:powershell能管理linux麼?

答: 能夠的。

powershell的作法是外部合做,而不是內部取代bash。

1 經過【powershell dsc】或【powershell + sftp客戶端】來推拉配置文件。

2 經過【ssh客戶端模塊】,模擬linux終端。遠程調用linux內置的bash,python等,返回結果。 

問:我只有winxp,2001年出的,沒裝powershell,沒有curl,就無法用powershell了吧?

答: 能夠的。

仍是用外部合做的辦法。經過http(s),用b/s的方法訪問。

1 找一臺有高版本win的電腦或虛擬機,在上面安裝上支持powershell的http服務器。如: http://www.poshserver.net/            這個軟件支持http,https,php,powershell,自定義端口,win認證。

2 在bat中用mshta ( http://powershell服務器ip/xxx.ps1 "get-date" ) 之類的命令便可。 

問:powershell的強項優點是什麼?

答:

1 .net在win中的性能【應該最佳】,強於java和python。用一樣語句,用一樣對象的powershell腳本,我測了幾個,比py稍 快。(未作定論)我的認爲是虛擬機優化的最好的緣由。

2 開發winform,wpf圖形界面。或者便是命令行,又是圖形程序。(相似於ghost.exe)

3 powershell多線程能夠用多核。

4 win系統管理最強,絕大數微軟軟件。

5 管理vmware,微軟雲,亞馬遜雲,和雲中的虛擬機。 

問:未來powershell會進入安卓,mac osx麼?

答: 不知道。

但powershell會進入物聯網系統。win11 iot?未來樹莓派應該能夠用上。

資料文獻

原文地址:http://www.windoweye.com/news/2016/07/281052.html