New-ItemProperty
为项创建新属性并设置该属性的值。例如,可以使用 New-ItemProperty 创建和更改注册表值和数据,它们是注册表项的属性。
语法
New-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PropertyType <string>] [-Value <Object>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
New-ItemProperty [-Path] <string[]> [-Name] <string> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PropertyType <string>] [-Value <Object>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
说明
New-ItemProperty cmdlet 为指定项创建新属性并设置该属性的值。此 cmdlet 通常用于创建新注册表值,因为注册表值是注册表项的属性。
此 cmdlet 不能向对象添加属性。要向对象实例添加属性,请使用 Add-Member cmdlet。要向特定类型的所有对象添加属性,请编辑 Types.ps1xml 文件。
参数
-Credential <PSCredential>
指定有权执行此操作的用户帐户。默认值为当前用户。
键入用户名,如“User01”或“Domain01\User01”;或输入 PSCredential 对象,如 Get-Credential cmdlet 生成的一个 PSCredential 对象。如果键入用户名,则将提示您输入密码。
随同 Windows PowerShell 一起安装的任何提供程序都不支持此参数。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Exclude <string[]>
忽略指定项。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Filter <string>
以提供程序的格式或语言指定筛选器。此参数的值对 Path 参数进行限定。
筛选器的语法(包括通配符的使用)取决于提供程序。筛选器比其他参数更有效,因为提供程序是在检索对象时应用筛选器,而不是在检索对象后再由 Windows PowerShell 筛选对象。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Force
允许 cmdlet 创建用户非此不能访问的对象的属性。不同提供程序有不同的实现。有关详细信息,请参阅 about_Providers。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Include <string[]>
此参数的值对 Path 参数进行限定。请输入路径元素或模式,例如“*.txt”。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-LiteralPath <string[]>
指定指向项属性的路径。LiteralPath 的值严格按照所键入的形式使用。不会将任何字符解释为通配符。如果路径包括转义符,请将其括在单引号中。单引号会告知 Windows PowerShell 不要将所有字符都解释为转义序列。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Name <string>
指定新属性的名称。如果该属性是注册表条目,则此参数指定该条目的名称。
是否为必需? |
true |
位置? |
2 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Path <string[]>
指定项的路径。此参数标识要向其中添加新属性的项。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-PropertyType <string>
指定要添加的属性的类型。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Value <Object>
指定属性值。如果该属性是注册表条目,则此参数指定该条目的值。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Confirm
在执行命令之前提示您进行确认。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
描述如果执行该命令会发生什么情况(无需实际执行该命令)。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-UseTransaction
将命令包含在活动事务中。仅当正在执行事务时,此参数才有效。有关详细信息,请参阅 about_Transactions。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
无 不能通过管道将输入传递给 New-ItemProperty。 |
输出 |
System.Management.Automation.PSCustomObject New-ItemProperty 返回一个包含新属性的自定义对象。 |
说明
New-ItemProperty cmdlet 用于处理由任何提供程序公开的数据。要列出会话中可用的提供程序,请键入“Get-PSProvider”。有关详细信息,请参阅 about_Providers。
示例 1
C:\PS>new-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 822
C:\PS> get-itemproperty hklm:\software\mycompany
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : mycompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 822
说明
-----------
此命令将一个新注册表条目 NoOfEmployees 添加到 HKLM:\Software 配置单元的 MyCompany 项。
第一条命令使用 Path 参数指定 MyCompany 注册表项的路径。该命令使用 Name 参数指定该条目的名称,使用 Value 参数指定该条目的值。
第二条命令使用 Get-ItemProperty cmdlet 查看新的注册表条目。
示例 2
C:\PS>get-item -path HKLM:\Software\MyCompany | new-Itemproperty -name NoOfLocations -value 3
说明
-----------
此命令向注册表项添加新的注册表条目。为指定该项,该命令使用管道运算符 (|) 将表示该项的对象发送给 New-ItemProperty cmdlet。
该命令的第一部分使用 Get-Item cmdlet 获取 MyCompany 注册表项。管道运算符 (|) 将该部分命令的结果发送给 New-ItemProperty cmdlet,后者将新的注册表条目 NoOfLocations 及其值 3 添加到 MyCompany 项。
此命令的工作原理是:Windows PowerShell 的参数绑定功能将 Get-Item 返回的 RegistryKey 对象的路径与 New-ItemProperty 的 LiteralPath 参数关联。有关详细信息,请参阅 about_Pipelines。
另请参阅
概念
about_providers
Clear-ItemProperty
Copy-ItemProperty
Move-ItemProperty
Rename-ItemProperty
Get-ItemProperty
Set-ItemProperty
Remove-ItemProperty