Set-ItemProperty
Создает или изменяет значение свойства элемента.
Синтаксис
propertyValuePathSet (Default) - All providers
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
propertyPSObjectPathSet - All providers
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
propertyValueLiteralPathSet - All providers
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
propertyPSObjectLiteralPathSet - All providers
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
propertyValuePathSet (Default) - Registry provider
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
propertyPSObjectPathSet - Registry provider
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
propertyValueLiteralPathSet - Registry provider
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
propertyPSObjectLiteralPathSet - Registry provider
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
Файл представляет собой объект System.IO.FileInfo и IsReadOnly является только одним из его свойств.
Чтобы просмотреть все свойства, введите Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.
$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. Команда
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $true
Параметры
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-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 |
-InputObject
Указывает объект, имеющий свойства, которые изменяются этим командлетом. Введите переменную, содержащую объект или команду, которая получает объект.
Свойства параметра
| Тип: | PSObject |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
propertyPSObjectPathSet
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
propertyPSObjectLiteralPathSet
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется именно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Дополнительную информацию см. в разделе about_Quoting_Rules.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Наборы параметров
propertyValueLiteralPathSet
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
propertyPSObjectLiteralPathSet
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Name
Указывает имя свойства.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSProperty |
Наборы параметров
propertyValuePathSet
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
propertyValueLiteralPathSet
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект, представляющий свойство элемента. По умолчанию этот командлет не создает выходные данные.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь к элементам со свойством для изменения. Разрешено использование подстановочных символов.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
propertyValuePathSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
propertyPSObjectPathSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Type
Это динамический параметр, доступный поставщиком реестра. Поставщик реестра и этот параметр доступен только в Windows.
Указывает тип свойства, добавляемого этим командлетом. Допустимые значения для этого параметра:
-
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.
Свойства параметра
| Тип: | RegistryValueKind |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Value
Указывает значение свойства.
Свойства параметра
| Тип: | Object |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
propertyValuePathSet
| Position: | 2 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
propertyValueLiteralPathSet
| Position: | 2 |
| Обязательно: | True |
| Значение из конвейера: | 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.
Входные данные
PSObject
Объекты можно передать в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
PSCustomObject
При использовании параметра PassThru этот командлет возвращает объект PSCustomObject, представляющий измененный элемент и его новое значение свойства.
Примечания
PowerShell включает следующие псевдонимы для Set-ItemProperty:
- Все платформы:
sp
Set-ItemProperty предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.