New-ItemProperty

Создает новое свойство для элемента и задает его значение.

Синтаксис

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 создает новое свойство для указанного элемента и задает его значение. Как правило, этот командлет используется для создания новых значений реестра, так как значения реестра являются свойствами элемента раздела реестра.

Этот командлет не добавляет свойства в объект.

  • Чтобы добавить свойство в экземпляр объекта , используйте Add-Member командлет .
  • Чтобы добавить свойство ко всем объектам определенного типа, измените файл Types.ps1xml.

Примеры

Пример 1. Добавление записи реестра

Эта команда добавляет новую запись реестра NoOfEmployees в раздел MyCompany куста HKLM:\Software.

Первая команда использует параметр Path для указания пути к разделу реестра MyCompany. Параметр Name используется для указания имени записи, а параметр Value — для указания ее значения.

Вторая команда использует Get-ItemProperty командлет для просмотра новой записи реестра.

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 командлет для получения раздела реестра MyCompany. Оператор конвейера отправляет результаты команды New-ItemPropertyв , который добавляет новую запись реестра (NoOfLocations) и ее значение (3) в раздел MyCompany.

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

Эта команда работает, так как функция привязки параметров PowerShell связывает путь возвращаемого RegistryKey объекта Get-Item с параметром LiteralPath .New-ItemProperty Дополнительные сведения см. в разделе about_Pipelines.

Пример 3. Create значения MultiString в реестре с помощью Here-String

В этом примере создается значение MultiString с помощью here-String.

$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. Create значения MultiString в реестре с помощью массива

В примере показано, как использовать массив значений для создания MultiString значения.

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

a

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Примечание

Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить уровень учетных данных при выполнении этого командлета, используйте Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Указывает в качестве массива строк элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Можно использовать подстановочные знаки. Параметр Exclude действует только в том случае, если команда содержит содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows каталога.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Указывает фильтр для определения параметра Path . Поставщик FileSystem — единственный установленный поставщик PowerShell, поддерживающий использование фильтров. Синтаксис языка фильтрации файловой системы можно найти в about_Wildcards. Фильтры более эффективны, чем другие параметры, так как поставщик применяет их, когда командлет получает объекты, а не фильтрует объекты PowerShell после их извлечения.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Заставляет командлет создать свойство объекта, к которому пользователь не может получить доступ в противном случае. Применение этого параметра зависит от конкретного поставщика. Дополнительные сведения см. в разделе about_Providers.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Указывает в качестве массива строк элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например "*.txt". Можно использовать подстановочные знаки. Параметр Include действует, только если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows каталога.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так же, как и в типизированном виде. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.

Дополнительные сведения см. в разделе about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Задает имя для нового свойства. Если свойство является записью реестра, этот параметр задает имя записи.

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Указывает путь к элементу. Можно использовать подстановочные знаки. Этот параметр определяет элемент, к которому этот командлет добавляет новое свойство.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-PropertyType

Указывает тип свойства, добавляемого этим командлетом. Допустимые значения для этого параметра:

  • String: указывает строку, завершаемую null. Эквивалентно REG_SZ.
  • ExpandString: указывает строку, завершающуюся значением NULL, которая содержит нерасширенные ссылки на переменные среды, которые разворачиваются при извлечении значения. Эквивалентно REG_EXPAND_SZ.
  • Binary: указывает двоичные данные в любой форме. Эквивалентно REG_BINARY.
  • DWord: задает 32-разрядное двоичное число. Эквивалентно REG_DWORD.
  • MultiString: задает массив строк, заканчивающихся значением NULL, которые заканчиваются двумя символами NULL. Эквивалентно REG_MULTI_SZ.
  • Qword: указывает 64-разрядное двоичное число. Эквивалентно REG_QWORD.
  • Неизвестно: указывает неподдерживаемый тип данных реестра, например REG_RESOURCE_LIST.
Type:String
Aliases:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Задает значение свойства. Если свойство является записью реестра, этот параметр указывает значение записи.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

None

В этот командлет нельзя передать входные данные.

Выходные данные

PSCustomObject

New-ItemProperty возвращает пользовательский объект, содержащий новое свойство.

Примечания

New-ItemProperty предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PSProvider. Дополнительные сведения см. в разделе about_Providers.