PowerShell 2.0 CTP版的新特性

来源:互联网 发布:阿里云试用 编辑:程序博客网 时间:2024/04/30 15:10
如下说明是翻译:是来自Windows PowerShell官方博客,因为本人水平有限,文章中存在各种不足之处,请您及时指出。转载请注明链接地址,原文地址:http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx
译者: Edengundam(马涛)
 
PowerShell 2.0 CTP版的新特性
 
随着你开始使用Windows PowerShell 2.0CTP版本,最好尽快告诉您CTP版本中究竟有哪些新的功能。
第一件要知道的事情就是此版本兼容并替换Windows PowerShell 1.0。要安装CTP版本,你必须先卸载PowerShell 1.0
卸载Windows PowerShell 1.0
·         Windows XP-SP2Windows Server 2003:在添加/移除程序中,选择显示更新。删除适用于您系统的PowerShell更新: KB926139 (en-us),KB926140 (localized), KB926141 (MUI pack)
·         Windows Vista:控制面板->程序和功能->安装更新。卸载PowerShell更新: KB928439
·         Windows Server 2008:Windows Server 2008Beta3起,PowerShell 1.0作为内置可选组建。如果你激活了PowerShell 1.0,在你安装PowerShell V2 CTP之前必须关闭此特性。启动Server Manager选择删除Features的选项。从列表中选择PowerShell,禁用此特性。
相对Windows PowerShell 1.0的重大变化
·         位于HKLM:/SOFTWARE/Microsoft/PowerShell/1/PowerShellEnginePowerShellEngine键值变更为2.0
·         新添加了DataCmdlet语言关键字. 这意味着,“data”和“cmdlet”都会被解释为语言的关键字,这可能导致分析错误。
·         改变了参数分隔符的行为。在PowerShell 1.0中,$a.method(,1)被当成以1个元素数组作为参数,条用方法。然而$a.method(1,2)作为分析错误。在PowerShell 2.0中,这两种语法都被当作分析错误。
·         新添加了Cmdlet和变量(后面列出)。这些可能和已经存在的脚本产生冲突。
 
1.       PowerShell远程控制
Windows PowerShell 2.0提供了远程执行Cmdlet和脚本的支持。PowerShell 远程控制允许从单一客户端来管理多个远程计算机。要使用PowerShell 2.0远程管理计算机,需要在每台参与操作的计算机上安装PowerShell 2.0;包括客户端计算机和被管理的计算机。
更多信息:
·         get-help About_Remoting
·         get-help Invoke-Expression
 
Enable Remoting: PowerShell远程控制特性依赖Windows Remote Management(WS-Man)技术,为了能够远程操作,请确保安装了WS-Man Winrm服务并启动了此服务。要验证Winrm服务是否正在运行,照下面的方法去做:
              PS> get-service winrm
Setup places a PowerShell script (Configure-Wsman.ps1) in $pshome folder that configures WS-Man settings. 要为PowerShell远程控制特性配置WS-Man服务,请运行位于PowerShell目录中的configure-WSMan.ps1脚本(Windows Server 2008或者Windows Vista SP1下,使用权限提升来运行). 此脚本不会启动或停止WinRM服务。
       & $pshome/Configure-Wsman.ps1
已知问题: 
·         要使用远程的Cmdlet和特性,PowerShell必须以administrator/elevated执行。
·         PowerShell 2.0远程特性不能在Windows Vista RTM版上正常工作。你需要安装Windows Vista Service Pack 1 (SP1)测试版,才能使用PowerShell远程特性。
2.       后台作业
Windows PowerShell 2.0引入了后台作业(PsJob) 的概念。一个后台作业不与控制台进行任何交互,异步地(在后台)运行一个命令或者表达式。命令提示符将会立即返回,您可以在方便时查看作业的执行结果。您可以在本地或远程计算机上运行后台作业。
更多信息:
·         get-help About_PSJob
 
3.       ScriptCmdlets
ScriptCmdlets允许您使用PowerShell脚本来编写cmdlet,而不需要使用编译的C#VB.NET代码。
已知问题: 
此版本中,不支持下面的cmdlet参数:
·         Parameter sets
·         Help
 
更多信息:
·         get-help about_scriptcmdletparameters
·         get-help about_scriptcmdletmethods
·         get-help about_scriptcmdletattributes
 
4.       可步进式管道线(steppable pipeline
此特性使您可以将脚本块转化为一个可步进式管道线,接下来通过在管道线上独立调用Begin()Process()End()来步进式的控制活动的执行序列。
5.       数据语言
数据语言是PowerShell语言的一个子集,它允许更好的进行脚本的共享。它还允许将数据从你脚本的代码中分离出来。
更多信息:
·         get-help about_data_section
·         get-help ConvertFrom-StringData
 
6.       脚本国际化
此新特性允许PowerShell脚本作者编写能够被翻译为Windows支持的各种语言的脚本。
你可以将字符串资源从其他代码分离出来,使用新的数据语言特性(如上)。使用最新的Import-LocalizedData cmdlet,你可以指示PowerShell检查操作系统的UI区域设置,并在适当的区域设置目录中(例如en-US或者de-DE)检查转换数据文件(translated data file,以.psd1结尾),并使用转换字符串替换原始字符串。
更多信息:
·         get-help about_script_internationalization
·         get-help Import-LocalizedData
·         get-help ConvertFrom-StringData
·         get-help about_data_section
 
7.      脚本调试
添加了新的调试特性:你现在可以在行、列、函数、变量和命令上设置断点。你还可以指定,当触发断点时的行为。还支持进入、跳过或者退出函数调用。你还可以简单的显示调用栈
更多信息:
·         get-help about_debugger
 
 
8.       新的运算符:
·         Splatting运算符(@)PowerShell V2支持splatting运算符(@)同时传递一个集合的参数
·         -Split-split运算符允许用户根据用户指定的分隔符,将字符串分为一个数组的字串。
·         –Join-join运算符对字符串数组中多个字符串,使用用户指定分隔符将它们连接成为一个单独的字符串。
 
9.       新的变量:
·         $commandLineParameters:保存命令行和管道中的参数。Cmdlets可以通过MyInvocation.CommandLineParameters访问。
·         $PSVersionTable: 通过此变量查看PowerShell版本信息
·         $Culture: 通过此变量查看当前的区域设置信息
·         $UICulture: 通过此变量查看当前UI的区域设置信息
 
10.   新的Cmdlet:
如下24 cmdlet是新添加到PowerShell 2.0中的。查看帮助来了解如何使用这些Cmdlet的细节.
Get-PSBreakpoint
Get-PSCallStack
Remove-PSJob
New-PSBreakpoint
ConvertFrom-StringData
Start-PSJob
Disable-PSBreakpoint
Import-LocalizedData
Stop-PSJob
Enable-PSBreakpoint
Get-Runspace
Wait-PSJob
Remove-PSBreakpoint
New-Runspace
Invoke-WMIMethod
Step-Into
Remove-Runspace
Remove-WMIObject
Step-Out
Get-PsJob
Set-WMIInstance
Step-Over
Receive-PSJob
Out-GridView
 
11.   受限运行空间(Constrained Runspaces)
受限运行空间允许创建具有约束集合的PowerShell运行空间。在使用受限运行空间时,这些约束包括:限制命令、脚本和语言元素访问和执行的限制能力。
 未完待续 
原创粉丝点击