Поделиться через


New-ItemProperty

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

Синтаксис

Path (по умолчанию)

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

LiteralPath

New-ItemProperty
    [-Name] <String>
    -LiteralPath <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в раздел MyCompanyHKLM:\Software hive.

Первая команда использует параметр пути, чтобы указать путь к разделу реестра MyCompany. Он использует параметр имени , чтобы указать имя записи и параметр 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 возвращается с параметром ЛитерPathNew-ItemProperty. Дополнительные сведения см. в разделе about_Pipelines.

Пример 3. Создание значения 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.HereString
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
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например один, созданный командлетом Get-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль.

Замечание

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

Свойства параметра

Тип:PSCredential
Default value:Current user
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Exclude

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Filter

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

Принудительно заставляет командлет создать свойство объекта, к которому не удается получить доступ пользователю. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе о поставщиках.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Include

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LiteralPath

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

Дополнительную информацию см. в разделе about_Quoting_Rules.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath, LP

Наборы параметров

LiteralPath
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Name

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSProperty

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Path

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

Path
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PropertyType

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

  • String: указывает строку, завершаемую значением NULL. Используется для значений REG_SZ.
  • ExpandString. Указывает строку с завершающим нулевым символом, которая содержит неразвёрнутые ссылки на переменные среды, развернутые при извлечении значения. Используется для значений REG_EXPAND_SZ.
  • Binary: указывает двоичные данные в любой форме. Используется для значений REG_BINARY.
  • DWord: указывает 32-разрядное двоичное число. Используется для значений REG_DWORD.
  • MultiString: указывает массив строк, завершаемых значением NULL, прерванным двумя символами NULL. Используется для значений REG_MULTI_SZ.
  • Qword: указывает 64-разрядное двоичное число. Используется для значений REG_QWORD.
  • Unknown. Указывает неподдерживаемый тип данных реестра, например значения REG_RESOURCE_LIST.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Тип

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Value

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

Свойства параметра

Тип:Object
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

Невозможно передать объекты в этот командлет.

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

PSCustomObject

Этот командлет возвращает пользовательский объект, представляющий новое свойство.

Примечания

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