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

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

问:微软的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


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

微软准备开源PowerShell相关推荐

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

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

  2. 微软开源PowerShell并支持Linux

    建议在Wifi 环境下观看视频 class="video_iframe" data-vidtype="1" style=" z-index:1; &q ...

  3. 微软热门开源项目及代码库地址

    点击蓝字 关注我 这几年来,微软在开源与社区方向的努力与成就是全世界有目共睹的.微软的开源项目超过2000多个,挑了一些比较火热的给大家整理了一下.欢迎补充~ Visual Studio Code 非 ...

  4. 微软nni_实践空间站 | 为微软官方开源项目贡献代码,你准备好了吗?

    亟需一个契机重新驱动你在冬日沉睡的大脑? 2020 年春季学期微软学生俱乐部实践空间站项目正等待你大展身手! 实践空间站是微软学生俱乐部打造的全学年持续性活动,通过项目导师指导与自主创新结合的方式,帮 ...

  5. 微软研究院开源编程语言Verona,借鉴Rust、Cyclone等特性

    2020-01-22 09:58:06 机器之心报道 作者:一鸣.Jamin 近日,微软研究院开源了一个名为 Verona 的项目.这是一个面向研究的编程语言,旨在解决内存管理和计算机安全方面的问题, ...

  6. 从抵触到力推,.Net Core 的成功让微软正视开源

    为什么80%的码农都做不了架构师?>>>    原文  https://www.oschina.net/news/80093/microsoft-supports-open-sour ...

  7. 微软2020开源回顾:止不住的挨骂,停不下的贡献

    喜欢就关注我们吧! 2020年,Linus Torvalds 开启"飚骚话"模式,言语不再激烈.看到"大喷子" Linus 都有机会变慈祥,料想微软近年来主动拥 ...

  8. 微软正式开源WSL 2的内核源码

    微软在今年5月举办的 Build 2019 上宣布了第二代 Windows 的 Linux 子系统 -- WSL 2.与第一代相比,WSL 2 重新设计了架构,使用真正的 Linux 内核,支持在 W ...

  9. Build 2019 上微软的开源动作有点不一样

    微软今年举办的 Build 开发者大会可谓是抢足风头,大会第一天就放了不少大招:宣布新的命令行终端 Windows Terminal.Windows 10 的 Linux 子系统 WSL 2 将运行真 ...

最新文章

  1. ICCV 2021 | 国科大提出首个CNN和Transformer双体主干网络!Conformer准确率高达84.1%!...
  2. 适合产品经理的十本书 From 俞军
  3. Android实现ListView圆角效果
  4. [翻译]初试C# 8.0
  5. java中奇偶数的判断
  6. 关于使用ASP.NET和数据库的笔记
  7. 微软开源 TensorFlow-DirectML,为 WSL2 提供 GPU 支持
  8. C语言 如何计算结构体的大小
  9. mysql双向复制_MySQL 双向复制
  10. win7做ftp服务器是否稳定,win7可以做ftp服务器吗
  11. 第一个web项目-微信小程序后端开发
  12. python解释器cpython的源码简要介绍
  13. CSS3 Clip-Path
  14. [深入浅出]MySQL安全规范
  15. 基于ROS下的安卓手机图像和IMU跑ORB-SLAM3
  16. OpenCV VideoWriter 写入自定义尺寸视频卡死问题
  17. js ajax浏览器做什么,js区分webkit核心浏览器chrome,360浏览器
  18. Mysql(三)事务原理及分析
  19. 紫光同创国产FPGA学习之Physical Constraint Editor
  20. 最新伦敦金行情分析技巧:由小变大 循序渐进

热门文章

  1. Magicodes.IE 2.5.6.1发布
  2. 12 个问题搞懂 Redis
  3. NET问答: JS 中有 LINQ SelectMany 方法的等价实现吗?
  4. NET问答: 为什么仅有 getter 的属性,还可以在构造函数中赋值 ?
  5. 如何在 ASP.Net Core 中使用 File Providers
  6. 跟我一起学Redis之高可用从主从复制开始
  7. 2020年中国.NET开发者大会第二天 WorkShop
  8. C# 9.0中引入的新特性init和record的使用思考
  9. 一个 Task 不够,又来一个 ValueTask ,真的学懵了!
  10. 只要十步,你就可以应用表达式树来优化动态调用