惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
博客园 - Franky
J
Java Code Geeks
V
Visual Studio Blog
G
Google Developers Blog
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
博客园 - 【当耐特】
IT之家
IT之家
I
InfoQ
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler

博客园 - 天天爱晴天

招Android软件测试人员 从.net星移居到android星 恐怖故事和童话故事-可靠代码实践1 测试好书推荐,从理念到实践 测试好BLOG推荐-微软测试大将的BLOG 不知庐山真面目,看微软测试圣经How we test software at ms Powershell大印象系列3: 解惑,真相?补充一下 Powershell大印象系列2:丰富的帮助,丰富的资源 Book review..看了一下午的.NET Framework.归纳了几点 第二次CODE REVIEW (d) 微软2008年的CEO SUMMIT的视频(大家可以领会一下未来的趋势呀) 我犯了的错误 by 第一次 CodeReview(Updated 毕业啦,去深圳文思创新工作,找房子租ING 被抛弃的感觉 游走回忆 回顾2006年的N个没有实现的构思(上) 苦思论文题目,灵感触发VISIO 2007 开始写论文啦(各位给点意见) 汇丰笔筋(未知版)
Powershell大印象系列1:惊艳呀
天天爱晴天 · 2009-03-02 · via 博客园 - 天天爱晴天

一开始接触POWERSHELL,是因为上司要求用脚本管理Hyper-V上面的操作系统和服务。实现一些产品在测试环境的部署和恢复。当然方法有很多,但是我第一时间,想起了现在比较流行的POWERSHELL. 并且找到了一个很方便的API:  http://www.codeplex.com/PSHyperv . 对于完全没有接触过PS的我,我就开始看PSHyperV这个开源的类库,有时候,我觉得看开源API的确是快速上手一门语言的办法,当然,有一个比较好的IDE,高光一下里面的语法那就更加不错了。这个IDE 我选择了PowerGUI(Free!). 一番速成之后,评估结束,写了个文档,就给我们的IT用去了。值得一提的是,WMI Object在POWERSHELL里面的作用,当时我在想,没有了WMI,powershell就不POWER了。因此惊艳1, WMI

1. WMI Object:

    WMI功能非常强大,可以操作本地和远程的电脑的服务,例如获取远程电脑的时间,设置远程电脑的某些服务,设置IIS,当然,还要操作HYPER-V的服务。配合使用WMIQuery,简直就方便到极点。

2. XML

    旁边有个同事总说, 罪恶的XML呀....本人基本同意,我还是喜欢简单的JOSN多一点。但是在POWERSHELL里面的XML就没有那么罪恶啦,使用非常简单,例如:
   <dataroot>

      <abc><cde>罪恶</cde></abc>

   </dataroot> 在文件 TEST.XML中

   想拿到某个节点的内容,EASY到不得了,[xml]content = Get-Content test.xml

   content.dataroot.abc.cde 这样,就能够获得内容了。神了。Conent究竟是什么,Content.GetType()之后发现,原来还是XmlDocument......PS一句,微软的东西,功能总做得方便得不得了,但是背后,当然就是牺牲性能啦。

3. 对环境变量,对注册表的操作

   对环境变量和注册表的操作,也是简单得不了。$env:COMPUTERNAME ....

4. 一切皆为对象(PYTHON也这样说过)

   这个怎么表达好呢。你可以这样做  $files = dir. 然后 $files.GetType()

5. 扩展性超好

    继承一下powershell提供的CMDLET,Snapin,在C#里写一下,就可以有自己的SNAPIN了. 然后在POWERSHELL里面加载一下Installutil,Add-PSSnapin.有人就有疑问,有啥好处呢? 我告诉你,你写的SNAPIN,比起在POWERSHELL里定义函数,你能获得,按TAB的智能提醒,构建自己强大的GET-HELPhttp://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx ),也就是帮助, 实现灵活的使用方式,强大的内置的校验机制。

最后奉上,POWERSHELL之歌:http://landofsilly.mypodcast.com/2009/01/PowerShell_Wizard-177292.html