当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 新项目属性 (Microsoft.PowerShell.Management)

作者:精品下载站 日期:2024-12-14 02:11:44 浏览:13 分类:玩电脑

新项目属性 (Microsoft.PowerShell.Management)


New-ItemProperty

模块 :Microsoft.PowerShell.Management

为项目创建新属性并设置其值。

句法

New-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-PropertyType <String>]
   [-Value <Object>]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-PropertyType <String>]
   [-Value <Object>]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

描述

New-ItemProperty cmdlet 为指定项创建新属性并设置其值。通常,此 cmdlet 用于创建新的注册表值,因为注册表值是注册表项的属性。

此 cmdlet 不会向对象添加属性。

  • 要将属性添加到对象的实例,请使用 Add-Member cmdlet。
  • 要将属性添加到特定类型的所有对象,请修改 Types.ps1xml 文件。

示例

示例 1:添加注册表项

此命令将新的注册表项 NoOfEmployees 添加到 HKLM:\Software hiveMyCompany 项。

第一个命令使用 Path 参数指定 MyCompany 注册表项的路径。它使用 Name 参数指定条目的名称,并使用 Value 参数指定其值。

第二个命令使用 Get-ItemProperty cmdlet 来查看新的注册表项。

New-ItemProperty -Path "HKLM:\Software\MyCompany" -Name "NoOfEmployees" -Value 822
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

示例 2:向注册表项添加注册表项

此命令将新的注册表项添加到注册表项。为了指定密钥,它使用管道运算符 (|) 将表示密钥的对象发送到 New-ItemProperty

该命令的第一部分使用 Get-Item cmdlet 获取 MyCompany 注册表项。管道运算符将命令的结果发送到 New-ItemProperty,这会添加新的注册表项 (NoOfLocations) 及其值 (3) ),到 MyCompany 键。

Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3

此命令之所以有效,是因为 PowerShell 的参数绑定功能将 Get-Item 返回的 RegistryKey 对象的路径与 LiteralPath 参数关联起来。代码>新项目属性。有关更多信息,请参阅 about_Pipelines。

示例 3:使用 Here-String 在注册表中创建 MultiString 值

此示例使用 Here-String 创建一个 MultiString 值。

$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'HereString' -PropertyType MultiString -Value @"
This is text which contains newlines
It can also contain "quoted" strings
"@
$newValue.multistring

This is text which contains newlines
It can also contain "quoted" strings

示例 4:使用数组在注册表中创建 MultiString 值

该示例展示了如何使用值数组来创建 MultiString 值。

$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'MultiString' -PropertyType MultiString -Value ('a','b','c')
$newValue.multistring[0]

a

参数

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

指定有权执行此操作的用户帐户。默认为当前用户。

键入用户名,例如 User01Domain01\User01,或输入 PSCredential 对象,例如由 Get 生成的对象-Credential cmdlet。如果您键入用户名,系统会提示您输入密码。

笔记

随 PowerShell 安装的任何提供程序均不支持此参数。要在运行此 cmdlet 时模拟其他用户或提升您的凭据,请使用 Invoke-Command。

类型 :

PS凭证

位置:

命名

默认值:

当前用户

必需的:

False

接受管道输入:

True

接受通配符:

False

-Exclude

以字符串数组形式指定此 cmdlet 在操作中排除的一个或多个项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。仅当命令包含某个项目的内容时,排除参数才有效,例如C:\Windows\*,其中通配符指定的内容>C:\Windows 目录。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Filter

指定一个过滤器来限定 Path 参数。文件系统提供程序是唯一安装的支持使用筛选器的 PowerShell 提供程序。您可以在 about_Wildcards 中找到文件系统过滤器语言的语法。过滤器比其他参数更有效,因为提供程序在 cmdlet 获取对象时应用它们,而不是让 PowerShell 在检索对象后过滤对象。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Force

强制 cmdlet 在对象上创建用户无法访问的属性。实施方式因提供商而异。有关详细信息,请参阅 about_Providers。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Include

以字符串数组形式指定此 cmdlet 在操作中包含的一个或多个项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。仅当命令包含某个项目的内容时,Include 参数才有效,例如 C:\Windows\*,其中通配符指定 的内容>C:\Windows 目录。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-LiteralPath

指定到一个或多个位置的路径。 LiteralPath 的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其括在单引号 (') 中。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

有关更多信息,请参阅 about_Quoting_Rules。

类型 :

String[]

别名:

PSPath, LP

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Name

指定新属性的名称。如果属性是注册表项,则此参数指定注册表项的名称。

类型 :

String

别名:

PSProperty

位置:

1

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Path

指定项目的路径。允许使用通配符。此参数标识此 cmdlet 添加新属性的项目。

类型 :

String[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

True

-PropertyType

指定此 cmdlet 添加的属性的类型。该参数可接受的值为:

  • String:指定以 null 结尾的字符串。用于REG_SZ值。
  • ExpandString:指定一个以 null 结尾的字符串,其中包含对环境变量的未展开引用,这些环境变量在检索值时展开。用于REG_EXPAND_SZ值。
  • Binary:指定任何形式的二进制数据。用于REG_BINARY值。
  • DWord:指定 32 位二进制数。用于REG_DWORD值。
  • MultiString:指定以两个空字符结尾的空终止字符串数组。用于REG_MULTI_SZ值。
  • Qword:指定64位二进制数。用于REG_QWORD值。
  • 未知:表示不受支持的注册表数据类型,例如REG_RESOURCE_LIST值。
类型 :

String

别名:

Type

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Value

指定属性值。如果该属性是注册表项,则此参数指定该条目的值。

类型 :

目的

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

您无法将对象通过管道传输到此 cmdlet。

输出

PS自定义对象

此 cmdlet 返回表示新属性的自定义对象。

笔记

New-ItemProperty 旨在处理任何提供者公开的数据。要列出会话中可用的提供程序,请输入 Get-PSProvider。有关详细信息,请参阅 about_Providers。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯