Set-ItemProperty (Microsoft.PowerShell.Management)
Set-ItemProperty
- Модуль:
- Microsoft.PowerShell.Management
Создает или изменяет значение свойства элемента.
Синтаксис
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]Описание
Командлет Set-ItemProperty изменяет значение свойства указанного элемента. Вы можете использовать командлет для установки или изменения свойств элементов. Например, вы можете использовать Set-ItemProperty, чтобы установить для свойства IsReadOnly файлового объекта значение $True.
Вы также используете Set-ItemProperty для создания и изменения значений и данных реестра. Например, вы можете добавить к ключу новую запись реестра и установить или изменить его значение.
Примеры
Пример 1. Установка свойства файла
Эта команда устанавливает для свойства IsReadOnly файла «final.doc» значение «true». Он использует Путь для указания файла, Имя для указания имени свойства и параметр Значение для указания нового значения.
Файл является объектом System.IO.FileInfo, а IsReadOnly - лишь одним из его свойств. Чтобы просмотреть все свойства, введите Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Свойство.
Автоматическая переменная $true представляет значение «TRUE». Дополнительные сведения см. в разделе about_Automatic_Variables.
Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $trueПример 2. Создайте запись и значение реестра.
В этом примере показано, как использовать Set-ItemProperty для создания новой записи реестра и присвоения ей значения. Он создает запись «NoOfEmployees» в ключе «ContosoCompany» в разделе HKLM\Software и устанавливает для нее значение 823.
Поскольку записи реестра считаются свойствами разделов реестра, которые являются элементами, вы используете Set-ItemProperty для создания записей реестра, а также для установки и изменения их значений.
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824Первая команда создает запись в реестре. Он использует Path для указания пути к диску HKLM: и ключу Software\MyCompany. Команда использует Имя для указания имени записи и Значение для указания значения.
Вторая команда использует командлет Get-ItemProperty, чтобы просмотреть новую запись реестра. Если вы используете командлеты Get-Item или Get-ChildItem, записи не отображаются, поскольку они являются свойствами ключа, а не элементов или дочерних элементов.
Третья команда изменяет значение записи NoOfEmployees на 824.
Вы также можете использовать командлет New-ItemProperty, чтобы создать запись реестра и ее значение, а затем использовать Set-ItemProperty, чтобы изменить значение.
Для получения дополнительной информации о диске HKLM: введите Get-Help Get-PSDrive. Для получения дополнительных сведений о том, как использовать PowerShell для управления реестром, введите Get-Help Registry.
Пример 3. Изменение элемента с помощью конвейера
В этом примере используется Get-ChildItem для получения файла weekly.txt. Объект файла передается в Set-ItemProperty. Команда Set-ItemProperty использует параметры Name и Value для указания свойства и его нового значения.
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $TrueПараметры
-Confirm
Запрашивает подтверждение перед запуском командлета.
- Тип :
SwitchParameter
- Псевдонимы:
cf
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Credential
Примечание
Этот параметр не поддерживается никакими поставщиками, установленными с помощью PowerShell. Чтобы выдать себя за другого пользователя или повысить свои учетные данные при запуске этого командлета, используйте Invoke-Command.
- Тип :
PSCredential
- Позиция:
Именованный
- Значение по умолчанию:
Текущий пользователь
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Exclude
Указывает в виде массива строк элемент или элементы, которые этот командлет исключает из операции. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например *.txt. Допускаются подстановочные знаки. Параметр Exclude действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows.
- Тип :
String[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
True
-Filter
Указывает фильтр для уточнения параметра Path. Поставщик FileSystem — единственный установленный поставщик PowerShell, поддерживающий использование фильтров. Синтаксис языка фильтров FileSystem можно найти в about_Wildcards. Фильтры более эффективны, чем другие параметры, поскольку поставщик применяет их, когда командлет получает объекты, а не заставляет PowerShell фильтровать объекты после их получения.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
True
-Force
Заставляет командлет установить свойство для элементов, к которым пользователь иначе не может получить доступ. Реализация зависит от поставщика. Дополнительные сведения см. в разделе about_Providers.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Include
Указывает в виде массива строк элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра определяет параметр Path. Введите элемент пути или шаблон, например "*.txt". Допускаются подстановочные знаки. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*, где подстановочный знак указывает содержимое C:\Windows.
- Тип :
String[]
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
True
-InputObject
Указывает объект, свойства которого изменяет этот командлет. Введите переменную, содержащую объект, или команду, которая получает объект.
- Тип :
PSОбъект
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-LiteralPath
Указывает путь к одному или нескольким местоположениям. Значение LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки сообщают PowerShell не интерпретировать никакие символы как escape-последовательности.
Дополнительные сведения см. в разделе about_Quoting_Rules.
- Тип :
String[]
- Псевдонимы:
PSPath, LP
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Name
Указывает имя свойства.
- Тип :
String
- Псевдонимы:
PSProperty
- Позиция:
1
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-PassThru
Возвращает объект, представляющий свойство элемента. По умолчанию этот командлет не генерирует никаких выходных данных.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Path
Указывает путь к элементам со свойством, которое нужно изменить. Допускаются подстановочные знаки.
- Тип :
String[]
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
True
-Type
Это динамический параметр, предоставляемый поставщиком Реестра. Поставщик Реестр и этот параметр доступны только в Windows.
Указывает тип свойства, добавляемого этим командлетом. Допустимые значения этого параметра:
String: указывает строку, завершающуюся нулем. Используется для значений REG_SZ.ExpandString: указывает строку с нулевым завершением, содержащую нерасширенные ссылки на переменные среды, которые раскрываются при получении значения. Используется для значений REG_EXPAND_SZ.Двоичный: определяет двоичные данные в любой форме. Используется для значений REG_BINARY.DWord: указывает 32-битное двоичное число. Используется для значений REG_DWORD.MultiString: определяет массив строк с нулевым символом в конце, заканчивающихся двумя нулевыми символами. Используется для значений REG_MULTI_SZ.Qword: указывает 64-битное двоичное число. Используется для значений REG_QWORD.Неизвестно: указывает неподдерживаемый тип данных реестра, например значения REG_RESOURCE_LIST.
- Тип :
РеестрValueKind
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Value
Указывает стоимость свойства.
- Тип :
Объект
- Позиция:
2
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-WhatIf
Показывает, что произойдет, если командлет запустится. Командлет не запускается.
- Тип :
SwitchParameter
- Псевдонимы:
wi
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
PSObject
Вы можете передавать объекты в этот командлет.
Выходы
Нет
По умолчанию этот командлет не возвращает никаких результатов.
PSCustomObject
При использовании параметра PassThru этот командлет возвращает объект PSCustomObject, представляющий измененный элемент и его новое значение свойства.
Примечания
PowerShell включает следующие псевдонимы для Set-ItemProperty:
Все платформы:
sp
Set-ItemProperty предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы просмотреть список поставщиков, доступных в вашем сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе about_Providers.