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


Set-ItemProperty

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

Синтаксис

Set-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

Описание

Командлет Set-ItemProperty изменяет значение свойства указанного элемента. Командлет можно использовать для установки или изменения свойств элементов. Например, можно использовать Set-ItemProperty для задания значения свойства IsReadOnly объекта файла $True.

Вы также используете Set-ItemProperty для создания и изменения значений реестра и данных. Например, можно добавить новую запись реестра в ключ и установить или изменить его значение.

Примеры

Пример 1. Установка свойства файла

Эта команда задает значение свойства IsReadOnly для файла "final.doc" значение true. Он использует пути, чтобы указать файл, имя, чтобы указать имя свойства, а параметр value указать новое значение.

Файл представляет собой объект 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 для создания записей реестра, а также для установления и изменения их значений.

Первая команда создает запись реестра. Он использует 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.

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

Пример 3. Изменение элемента с помощью конвейера

Эти команды показывают, как использовать оператор конвейера (|) для отправки элемента в Set-ItemProperty.

Первая часть команды использует Get-ChildItem для получения объекта, представляющего файл "Weekly.txt". Команда использует оператор конвейера для отправки объекта файла в Set-ItemProperty. Команда использует параметры имени и значение для указания свойства и его нового значения.

Эта команда эквивалентна использованию параметра InputObject , чтобы указать объект, который получает.

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

Параметры

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

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

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

Предупреждение

Этот параметр не поддерживается поставщиками, установленными в Windows PowerShell.

Тип:PSCredential
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Exclude

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Filter

Задает фильтр в формате или языке поставщика. Значение этого параметра квалифифициирует параметр Path.

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Force

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Include

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает объект, имеющий свойства, которые изменяются этим командлетом. Введите переменную, содержащую объект или команду, которая получает объект.

Тип:PSObject
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-LiteralPath

Указывает путь к свойству элемента. В отличие от параметра пути значение ЛитерPath используется точно так же, как и типизированный. Символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.

Тип:String[]
Aliases:PSPath
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

Указывает имя свойства.

Тип:String
Aliases:PSProperty
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PassThru

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь к элементам со свойством для изменения.

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-UseTransaction

Включает команду в активную транзакцию. Этот параметр действителен только в том случае, если выполняется транзакция. Дополнительные сведения см. в about_Transactions.

Тип:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Value

Указывает значение свойства.

Тип:Object
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

PSObject

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

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

None, System.Management.Automation.PSCustomObject

Этот командлет создает объект PSCustomObject, представляющий измененный элемент и его новое значение свойства, если указать параметр PassThru. В противном случае этот командлет не создает выходные данные.

Примечания

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