Cnfan.net中国网络
IT网络技术专家
微软技术
 最新专题: Windows Server 2003 安全指南   IIS 技术专题   Exchange 2007 技术专题   SharePoint 2007 教程   跟我从头学WSH   专题 | 分类 | 投稿 | 搜索
 微软技术首页 | 微软动态 | Vista | Windows | ISA | Exchange | Share Point | SQL Server | System Center | 其它

PowerShell 2.0 CTP版的新特性

简介:PowerShell 2.0 CTP版的新特性 译者: Edengundam随着你开始使用Windows PowerShell 2.0的CTP版本,最好尽快告诉您CTP版本中究竟有哪些新的功能。第一件要知道的事情就是此版本兼容并替换Windows PowerShell 1 ...

关键字: PowerShell 微软 Windows Server shell 脚本

PowerShell 2.0 CTP版的新特性

译者: Edengundam

随着你开始使用Windows PowerShell 2.0的CTP版本,最好尽快告诉您CTP版本中究竟有哪些新的功能。
第一件要知道的事情就是此版本兼容并替换Windows PowerShell 1.0。要安装CTP版本,你必须先卸载PowerShell 1.0。

卸载Windows PowerShell 1.0

Windows XP-SP2和Windows Server 2003:在添加/移除程序中,选择显示更新。删除适用于您系统的PowerShell更新: KB926139 (en-us),KB926140 (localized), KB926141 (MUI pack)

Windows Vista:控制面板->程序和功能->安装更新。卸载PowerShell更新: KB928439

Windows Server 2008:从Windows Server 2008的Beta3起,PowerShell 1.0作为内置可选组建。如果你激活了PowerShell 1.0,在你安装PowerShell V2 CTP之前必须关闭此特性。启动Server Manager选择删除Features的选项。从列表中选择PowerShell,禁用此特性。
相对Windows PowerShell 1.0的重大变化
·
位于HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine的PowerShellEngine键值变更为2.0
·
新添加了Data和Cmdlet语言关键字. 这意味着,“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.可步进式管道线

此特性使您可以将脚本块转化为一个可步进式管道线,接下来通过在管道线上独立调用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运行空间。在使用受限运行空间时,这些约束包括:限制命令、脚本和语言元素访问和执行的限制能力。

  <欢迎投稿>  <论坛讨论>
 »相关文章  »论坛新贴
精彩文章 活动资讯 今日头条