微软有计划在近期内开源PowerShell

近日微软再次在向开源投出橄榄枝, PowerShell是面向Windows和Windows Server的自动化平台和脚本语言,帮助用户简化系统的管理。在纳德拉的带领下微软也逐渐走向开放,根据相关爆料称微软有计划在近期内 开源该脚本语言。

知名Windows爆料人士WalkingCat和Tom Hounsell在推文都分享了他们的发现。Tom在包的元数据说明中注意到这样一段话:“PowerShell是开源、跨平台、脚本语言和丰富的对象Shell。”但是目前尚未得到微软官方证实。

PowerShell已经开源了?

问:微软的PowerShell脚本语言已经开源了 ?

答:绝对真的!已经!

问:源码在哪?

答:微软.net源码网站。   http://referencesource.microsoft.com/

问:为什么在哪里?

答: powershell本身是基于.net的。是System.Management其中的一个类。

问:powershell源码如何看?

答:在 namespaces 搜索栏输入  

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

微软准备开源PowerShell的更多相关文章

  1. 开源力量:微软竟开源 PowerShell

    导读 曾经有段时间,微软称 Linux 是“癌症”,但是随着时光流逝,现在微软已经认识到了开源世界的不断增长,除了在这个领域加大投入之外别无选择.微软已经启动了几个开源项目,希望能吸引一些 Linux ...

  2. 微软开源PowerShell并支持Linux和OS X

    [微软在开源的道路上加速度了] 从一开始的各种对抗,各种通吃,到现在开始做服务,包罗万象.果然,换了主力,大有不同. 微软今天还宣布开源其.NET框架,令.NET Core能在Linux和OS X上运 ...

  3. 微软开源 PowerShell 并支持 Linux 和 OS X

    微软近日宣布开源 PowerShell,开始支持 Linux 和 OSX.PowerShell 是面向 Windows 和 Windows Server 的自动化平台和可扩展脚本语言,可帮助用户简化系 ...

  4. 微软爱开源:向Linux社区开放60000多项专利

    10月10日,微软在博客中宣布正式加入开放创新网络(Open Invention Network, 简称“OIN”),向所有开源专利联盟的成员开放其专利组合. 微软的加入意味着,旗下60000多项专利 ...

  5. 微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异

    微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异 前言:由于开发人员要靠工具吃饭,可能和开发工具.语言.环境呆的时间比和老婆孩子亲人在一起的时间还多,所以每个人或多 ...

  6. 微软Microsoft开源历程与相关资源

    2001 Open source is bad for business, saysMicrosoft Linux is a cancer 2005 Enterprise Library 1.0 re ...

  7. 喜大本\\ u0026普,微软的开源

    词汇表--喜大本\\ u0026普:爱过.有趣的游戏,庆祝.奔走相告.简而言之<reload=1">微软宣布.NET开发环境开源>是个好消息. 前言及历史回想 就我个人来说 ...

  8. 微软正式开源Blazor ,将.NET带回到浏览器

    微软 ASP.NET 团队近日正式开源了  Blazor ,这是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 .Net . Blazor 旨在简化快速的单页面 .Net ...

  9. 微软的开源Sonar工具测试网站的性能和安全性

    Tips 原文作者:ABHIMANYU GHOSHAL 原文地址:Microsoft's open-source Sonar tool will test your site's performanc ...

随机推荐

  1. 数据结构:顺序表(python版)

    顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __ini ...

  2. Java程序员应该知道的10个调试技巧

    试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...

  3. 微信WeixinJSBridge API(屏蔽右上角按钮等)

    [声明]:我这份纯属于备份,为了自己将来用起来方便: [相关链接]:http://www.2cto.com/weixin/201511/451592.html(好不好用完全看这个文档的作者了) [感谢 ...

  4. jQuery实用小技巧--输入框文字获取和失去焦点

    <input id="txt" class="text1"  type="text" />   <script src=& ...

  5. NHibernate代码监视

    今天在使用NH连接MySQL的时候,突然想起来MySQL好像并没有类似于SQL SERVER Profiler的功能,那以后调试不是很操蛋吗?搞了半天,发现并没有办法,只好拐个弯解决问题:将NH中的生 ...

  6. jQuery插件之——简单日历

    最近在研究js插件的开发,以前看大神们,对插件都是信手拈来,随便玩弄,感觉自己要是达到那种水平就好了,就开始自己研究插件开发了.研究了一段时间之后,就开始写了自己的第一个日历插件,由于是初学插件开发, ...

  7. Android-socket服务端断重启后,android客户端自动重连

    今天研究这个问题搞了整整一天啊!终于出来了,不过我没有多大的成就感,为什么呢?因为这不是我的劳动成果.同样的问题,我却没想出来!心塞的很啊…… 不过还是要给大家分享一下,希望给大家带来帮助! 先声明一 ...

  8. 通知、block

    =================================== 通知 =================================== 一.通知(NSNotification) // N ...

  9. iOS-自动布局Autolayout(原创)

    前言 基础知识 在一定情况下我们需要用到自动布局(autolayout) 这样我们就能使视图与视图之间的位置相互关联起来 横向:距离父视图左侧100 视图本身的宽度最小是100 距离父视图右侧是100 ...

  10. DIY一个高大上带提醒的计时器,简单实用,你还在等什么

    小编心语:锵锵锵!小编我又来了!昨天发了一篇比较实用的<Python聊天室>,鉴于反响还不错,SO ,小编也想给大家多分享点有用的干货,让大家边学边用.好了,闲话不多说,今天要给各位看官们 ...