PowerShell 2.0 CTP版的新特性

如下说明是翻译 :是来自 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.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.        可步进式管道线( 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 运行空间。在使用受限运行空间时,这些约束包括:限制命令、脚本和语言元素访问和执行的限制能力。
 未完待续 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值