您的当前位置:首页正文

Windows PowerShell 发行说明

2020-12-03 来源:汇意旅游网
Windows PowerShell V1.0(用于 .NET Framework 2.0 RTM)发行说明

版权所有 (C) 2006 Microsoft Corporation。保留所有权利。

此信息按“原样”提供,没有任何明示或暗示的保证,包括但不仅限于针对适销性或特定目的的适用性的暗示保证。

本文档介绍了对 Windows PowerShell V1.0 发行版的最新更改。若要了解有关 Windows PowerShell 的更多信息,请参阅“入门指南”、“Windows PowerShell 入门”和“快速参考”。从 Windows PowerShell 的“开始”菜单链接中可以打开以上链接。

对 Windows PowerShell RC2 所做的更改

在 Windows PowerShell RC2 和 Windows PowerShell V1.0 最终版本之间并没有任何重大更改。以下列表介绍了在 RC2 发行声明中未涉及但有必要予以介绍的一些功能。

对 ADSI 的支持:

我们向 Windows PowerShell 中添加了直接的 ADSI 支持,以便用户更方便地管理 Active Directory。现在可以对 Active Directory 对象执行创建 ADSI 对象、获取属性及调用方法等操作。

示例:(创建 OU)

PS >$objDomain =

[ADSI]\"LDAP://localhost:389/dc=NA,dc=fabrikam,dc=com\"

PS >$objOU = $objDomain.Create(\"organizationalUnit\PS >$objOU.SetInfo()

新的产品 ID:

Windows PowerShell 的 RC2 版本具有一个产品 ID (PID),该产品 ID 存储在以下注册表项中并具有以下值:

HKLM\\Software\\Microsoft\\PowerShell\\1 PID=89393-100-0001260-00301

在最终的 V1.0 版本中,PID 号更改为: HKLM\\Software\\Microsoft\\PowerShell\\1 PID= 89383-100-0001260-04309

新的配置文件位置:

Windows PowerShell 配置文件现在位于 WindowsPowerShell 目录中,而不再位于 PSConfiguration 目录中。

用于所有用户的配置文件位于以下位置:

%windir%\\system32\\WindowsPowerShell\\v1.0\\profile.ps1 %windir%\\system32\\WindowsPowerShell\\v1.0\\ Microsoft.PowerShell_profile.ps1

特定于用户的配置文件位于 %UserProfile% 目录下的 WindowsPowerShell 目录中。

在 64 位版本的 Windows 中,Windows PowerShell 还包含另外一组用于所有用户的配置文件。这些文件位于以下位置:

%windir%\\syswow64\\WindowsPowerShell\\v1.0\\profile.ps1 %windir%\\syswow64\\WindowsPowerShell\\v1.0\\ Microsoft.PowerShell_profile.ps1

与以前一样,Microsoft.PowerShell_profile.ps1 配置文件专用于

Microsoft.PowerShell 外壳程序,profile.ps1 配置文件用于所有外壳程序。

对 Windows PowerShell RC1 所做的更改

改进了错误输出的可读性:

利用 $host.PrivateData 可使用新的对象。对象 ConsoleColorProxy 用于设置外壳程序中的错误输出的颜色。

若要查看当前颜色,请键入“$host.privatedata”。

PS > $host.privatedata

ErrorForegroundColor : 红色 ErrorBackgroundColor : 黑色 WarningForegroundColor : 黄色 WarningBackgroundColor : 黑色 DebugForegroundColor : 黄色 DebugBackgroundColor : 黑色 VerboseForegroundColor : 黄色 VerboseBackgroundColor : 黑色 ProgressForegroundColor : 黄色

ProgressBackgroundColor : 深青

若要查看 ConsoleColorProxy 对象的属性和方法,请通过管道将其传递给 Get-Member。例如:

PS > $host.privatedata | get-member

若要更改颜色,请将属性值设置为所需颜色。例如,若要将错误消息背景颜色更改为蓝色,请键入:

PS > $host.privatedata.ErrorBackgroundColor = \"blue\"

新的字节限定符:KB、MB、GB

Windows PowerShell 中的字节限定符已从 K、M 和 G 更改为 KB、MB 和 GB。例如: PS> 54K

数字常量无效: 54K。 所在行:1 字符:3 + 54K <<<<

PS> 54KB 55296

已将 -Xor 和 -Bxor 运算符添加到 PowerShell 脚本语言中:

Windows PowerShell 包含两个新的运算符:-Xor(异或)和 -Bxor(位异或)。

PS> 1 -xor 0 True

PS> 1 -xor 1 False

PS> 1 -bxor 1 0

PS> 1 -bxor 0 1

使用不支持的 Filter 参数将导致错误:

如果 Windows PowerShell 提供程序未声明 Filter 功能,则该提供程序将不支持任何 cmdlet 的 Filter 参数。此前,如果将 Filter 参数用于不支持该参数的提供程序,则将忽略该参数但不显示错误。但是现在,如果将 Filter 参数用于不支持该参数的提供程序,则 Windows PowerShell 将生成 ProviderInvocationException 并显示错误消息。

对 Windows PowerShell 安装程序进行了更改:

现在,Update.exe 安装技术用于在 Windows XP 和 Windows 2003 上安装 Windows PowerShell。在 Windows Vista 上,则使用基于组件的安装技术 (CBS),不再使用 Update.exe-setup。

Windows PowerShell 安装文件夹的位置不再可配置。对于 x86 系统,安装程序将 Windows PowerShell 安装在 %systemroot%\\system32\\WindowsPowerShell\\V1.0 目录下。

Windows PowerShell 中将不再包含为 Windows PowerShell 添加“启用脚本执行”组策略的 ADM 文件。该文件将其单独提供。

对 x64 软件包安装程序进行了更改:

默认情况下,x64 软件包可安装 Windows PowerShell 的 32 位和 64 位版本。 64 位安装文件夹:%systemroot%\\system32\\WindowsPowerShell\\V1.0 32 位安装文件夹:%systemroot%\\Syswow64\\WindowsPowerShell\\V1.0

访问具有特殊字符名称的文件和目录:

Windows PowerShell 中新增了两项功能,使得引用名称中包含转义符 (`) 或通配符的目录和文件变得更为方便。

-- 如果倒引号 (`) 出现在单引号中,则 Windows PowerShell 不会将其解释为转义符。这适用于所有用单引号括起的字符串,包括脚本中的字符串。

示例:

PS> dir oct`06

Get-ChildItem : 路径中存在非法字符。 所在行:1 字符:4 + dir <<<< oct`06

Get-ChildItem : 找不到路径“C:\\PS\\oct 6”,因为该路径不存在。 所在行:1 字符:4 + dir <<<< oct`06 PS> dir 'oct`06'

-- 已向所有支持通配符扩展的核心 cmdlet 添加“LiteralPath”参数。LiteralPath 可阻止 Windows PowerShell 解析路径中的通配符模式。

若要访问包含转义符 (`) 和通配符的路径,请同时使用 LiteralPath 参数和单引号。 例如:

PS > get-content -LiteralPath 'te[s`t].txt'

改进了 Cmdlet 帮助内容的显示方式:

向 Get-Help 中添加了三个新视图: 默认视图:

示例:PS >get-help get-item 详细视图:

示例:PS >get-help get-item -detailed 完整视图:

示例:PS >get-help get-item -full

对 Get-WMIObject cmdlet 的几项改进:

- 将 WMI 方法作为 WMI Windows PowerShell 适配器的一部分公开。

- 将新的参数集添加到 Get-WmiObject 中,其中包括获取 WQL 查询的 Query 参数。 - 将可接受字符串(例如 WMI PATH)的 [WMI] 添加为内部类型。 – 现在,可以通过以下命令来实例化 WMI 实例:

PS >[WMI]'\\\\JPSLAP04\\root\\cimv2:Win32_Process.Handle=\"0\"' 该命令相当于以下命令:

PS >new-object system.management.managementobject '\\\\JPSLAP04\\root\\cimv2:Win32_Process.Handle=\"0\"'

- 设计了一种新的方法来处理作为 STRINGS 的 CIMDATETIMES。这是通过为 System.Management.ManagementObject 创建一个执行 ConvertToDateTime() 和 ConvertFromDateTime() 的 SCRIPT 方法来实现的。 示例:

PS >$wmiclass = [wmiclass]\"win32_processstartup\" PS >$dmtfDate = \"20020408141835.999999-420\"

PS >$dateTime = $wmiclass.ConvertToDateTime($dmtfDate) PS >$result = $wmiclass.ConvertFromDateTime($dateTime)

首次启动外壳程序时不再显示安全警告:

在用户第一次启动 Windows PowerShell 时,不再提示他们选择信任 Microsoft 签名证书。包含于 Windows PowerShell 中的 PS1XML 文件已经过签名,并且是可信的,即使在 Windows PowerShell 执行策略设置为“Restricted”时也是如此。

其他更改:

- 现在,$host.version 将报告实际的主机版本 1.0.0.0,而不是程序集版本。 - 向 ConvertTo-SecureString cmdlet 添加了 Force 参数。 - Tab 补齐功能现适用于属性引用: PS >$a = get-process outlook

PS >$a.Mai => $a.MainModule then $a.MainModule.fi => $a.MainModule.FileName - 默认属性现可用于解析二义性参数集。例如,如果 cmdlet 具有两个参数集,并且输入的命令可使用其中任何一个参数集进行解析,则将使用默认参数集。但在进行更改前,命令将生成“无法解析参数集”错误。

因篇幅问题不能全部显示,请点此查看更多更全内容