从PowerShell 2的第一个技术预览版到现在,已经过去将近两年的时间了,下面列出了在这期间添加的一些新特性。
- Remoting:可以在远程机器上运行Cmdlet和Script。
- 后台任务:可以使用PsJob在本地和远程运行后台任务。
- ScriptCmdlets:以前只能用静态编译型语言编写Cmdlet,如C#和VB。现在则可以直接使用PowerShell脚本编写。
- 步进式管道:可以认为这种管道一次只传输一个元素。
- 数据区:数据区可以将脚本的数据与逻辑分隔开,除了易于管理外,还可以用来构建支持国际化的脚本。
- 脚本调试:可以在“行、列、函数、变量和注释”上设置断点。
- 打包操作符:可以使用@操作符来将一组键值对当成单一参数进行传递。
- PowerShell ISE:“集成脚本环境”是一个轻量级的IDE。它由三部分组成,最上面的部分用来编辑脚本,下面的部分则像PowerShell提示符一样,用来执行即 时命令。不过这不是必要的,因为顶部的面板也可以执行选中的命令,就像SQL Server Management Studio一样。
- Out-GridView:除了将数据显示在控制台中,你还可以选择将它们发送到一个弹出窗口,窗口中包含即时生成的表格,并支持排序和过滤。
- 模块:模块将代替snap-in来创建可重用的cmdlet、script和provider库。与snap-in需要安装不同,你可以简单的将模块拷贝到用户级或系统级目录下,然后就可以在脚本中直接调用了。
- 事件:可以将WMI和CLR事件发送到事件队列中或直接绑定到一个动作上。
- 事务:PowerShell已经拥有了一个事务框架,但是目前只支持针对注册表的Provider。
- 异常处理:可以在PowerShell中使用类似Java、C#和VB中的try-catch-finally来处里异常。
- Add-Type:使用CodeDOM来编译任何.NET语言的代码片段。
支持XP及更高版本操作系统的PowerShell 2.0候选发布版已经可以下载了。
我们使用.net写了很多工具,在powershell到来之前,我们都是写成控制台程序来做这样的工作,现在有了强大的powershell脚本工具,如何将我们的丰富的工具快速转换成powershell脚本呢,我们都非常的熟悉.net reflector这个工具,Daniel Cazzulino写的powershell的插件:http://reflectoraddins.codeplex.com/Wiki/View.aspx?title=PowerShellLanguage。