微软准备开源PowerShell
????????近日微軟再次在向開源投出橄欖枝,?PowerShell是面向Windows和Windows Server的自動(dòng)化平臺(tái)和腳本語言,幫助用戶簡(jiǎn)化系統(tǒng)的管理。在納德拉的帶領(lǐng)下微軟也逐漸走向開放,根據(jù)相關(guān)爆料稱微軟有計(jì)劃在近期內(nèi) 開源該腳本語言。
?????? 知名Windows爆料人士WalkingCat和Tom Hounsell在推文都分享了他們的發(fā)現(xiàn)。Tom在包的元數(shù)據(jù)說明中注意到這樣一段話:“PowerShell是開源、跨平臺(tái)、腳本語言和豐富的對(duì)象Shell。”但是目前尚未得到微軟官方證實(shí)。
問:微軟的PowerShell腳本語言已經(jīng)開源了 ?
答:絕對(duì)真的!已經(jīng)!
?問:源碼在哪?
答:微軟.net源碼網(wǎng)站。?? http://referencesource.microsoft.com/
?問:為什么在哪里?
答: powershell本身是基于.net的。是【System.Management】其中的一個(gè)類。
?問:powershell源碼如何看?
答:在 namespaces 搜索欄輸入??
【System.Management.Automation.PowerShell】
【System.Management.Automation.ScriptBlock】 等。
?問:powershell有什么特色?
答:cmd(bat)中有命令行管道。vbs中有面向?qū)ο蟆?powershell相當(dāng)于bat+vbs。既有命令行和管道,又有面向?qū)ο蟆2O大增強(qiáng)了命令。相當(dāng)于linux中的bash+python。
面向?qū)ο蟊茸址黾恿藢傩院头椒ā?返回的屬性,比字符串粒度更小,更嚴(yán)禁細(xì)致。讓你寫腳本不用扣字符串。 方法讓你不用編程,就有相關(guān)功能。
?問:能否介紹下windows命令行的歷史?
答: win2000時(shí)代:基本上只有圖形功能,而對(duì)應(yīng)的命令缺失。
win2003時(shí)代:圖形功能,基本都有對(duì)應(yīng)的命令。但只限于win。
win2008時(shí)代:除了win之外的微軟軟件中。圖形功能,而對(duì)應(yīng)的命令基本全了。但還都是面向字符串的。
win2012時(shí)代:重新造所有輪,用所有powershell命令代替所有字符串命令。使windows命令行全面進(jìn)化到【面向?qū)ο蟆侩A段。?
winxp:cmd命令行。
win7:基本powershell。
win8.1:全面【面向?qū)ο蟆俊?/p>
win10:更全面,連剪貼板都面向?qū)ο罅?#xff01;?
問:powershell的缺點(diǎn)是什么?
答: 依賴高版本windows。?
問:兼容老版CMD?
答:1 語法不兼容cmd和bat。powershell語法更佳。
2 所有外部命令都兼容。比如ping.exe等。?
問:powershell源碼的字體和配色,看起來有點(diǎn)矮丑挫,咋辦?
答:用powershell ise 高大上 【字體 + 配色文件】。 ?
?問:powershell比CMD(bat)強(qiáng)在哪?
答:
1 語法方面。語法簡(jiǎn)單。有函數(shù),功能強(qiáng)大。
2 有正則,有查找,替換,切割,有大字符串對(duì)象,更適合于處理字符串。
3 有多線程并發(fā),多進(jìn)程并發(fā)。有計(jì)時(shí)器。有圖形界面。
?問:powershell比python如何?
答:
1 python可以跨平臺(tái),powershell暫時(shí)不能,這是缺點(diǎn)。
2 powershell為win峰。win本地深耕比python深。而python有些獨(dú)有的linux功能powershell沒有。
2.1 有管理dns服務(wù)器,dhcp服務(wù)器,打印機(jī),網(wǎng)卡,域服務(wù)器,exchange服務(wù)器管理命令。這些python不行。
2.2 .net內(nèi)置圖形界面【System.Windows.Forms】powershell開發(fā)圖形界面比python容易。
3 手冊(cè)中文,開發(fā)工具中文,調(diào)試功能佳。不容易亂碼等。 ??
問:powershell比linux bash如何?
答:
1 bash中沒有屬性方法,python中沒有管道命令行。假如python帶有命令行管道,bash跪不?
2 bash中有多線程,計(jì)時(shí)器,圖形界面??
問:我聽說linux命令比win多,更全,對(duì)么?
答:
win中命令更多,更全面,linux不行。
1 powershell命令比linux多得多。
2 linux軟件中,很多命令缺失。不能【修改軟件運(yùn)行時(shí)的配置】。
2.1 上述exchange服務(wù)器,命令手冊(cè)在:??? https://technet.microsoft.com/zh-cn/library/bb124413.aspx??? 500多條命令,哪個(gè)linux郵件服務(wù)器能比?
2.2 給bind服務(wù)器中的一個(gè)dns域中的一個(gè)域名,添加一個(gè)ip。如何用命令實(shí)現(xiàn)?
3 linux軟件依賴配置文件,但是有些命令只能【修改軟件運(yùn)行時(shí)的配置】。而沒有【導(dǎo)出單個(gè)配置到文件】,【導(dǎo)出所有配置到文件】的功能。
3.1 win2012中的iis管理命令中有Backup-WebConfiguration,Clear-WebConfiguration,Get-WebConfiguration,Restore-WebConfiguration。這些命令 今年出的nginx中有對(duì)應(yīng)的命令么??
問:powershell能管理linux么?
答: 可以的。
powershell的做法是外部合作,而不是內(nèi)部取代bash。
1 通過【powershell dsc】或【powershell + sftp客戶端】來推拉配置文件。
2 通過【ssh客戶端模塊】,模擬linux終端。遠(yuǎn)程調(diào)用linux內(nèi)置的bash,python等,返回結(jié)果。?
問:我只有winxp,2001年出的,沒裝powershell,沒有curl,就沒法用powershell了吧?
答: 可以的。
還是用外部合作的辦法。通過http(s),用b/s的方法訪問。
1 找一臺(tái)有高版本win的電腦或虛擬機(jī),在上面安裝上支持powershell的http服務(wù)器。如: http://www.poshserver.net/??????????? 這個(gè)軟件支持http,https,php,powershell,自定義端口,win認(rèn)證。
2 在bat中用mshta ( http://powershell服務(wù)器ip/xxx.ps1 "get-date" ) 之類的命令即可。?
問:powershell的強(qiáng)項(xiàng)優(yōu)勢(shì)是什么?
答:
1 .net在win中的性能【應(yīng)該最佳】,強(qiáng)于java和python。用同樣語句,用同樣對(duì)象的powershell腳本,我測(cè)了幾個(gè),比py稍 快。(未做定論)個(gè)人認(rèn)為是虛擬機(jī)優(yōu)化的最好的原因。
2 開發(fā)winform,wpf圖形界面。或者即是命令行,又是圖形程序。(類似于ghost.exe)
3 powershell多線程可以用多核。
4 win系統(tǒng)管理最強(qiáng),絕大數(shù)微軟軟件。
5 管理vmware,微軟云,亞馬遜云,和云中的虛擬機(jī)。?
問:將來powershell會(huì)進(jìn)入安卓,mac osx么?
答: 不知道。
但powershell會(huì)進(jìn)入物聯(lián)網(wǎng)系統(tǒng)。win11 iot?將來樹莓派應(yīng)該可以用上。
原文地址:http://www.windoweye.com/news/2016/07/281052.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的微软准备开源PowerShell的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Visual Studio 2015
- 下一篇: Entity Framework Cor