Set-ItemProperty
Создает или изменяет значение свойства элемента.
Синтаксис
Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Описание
Командлет Set-ItemProperty изменяет значение свойства заданного элемента. Этот командлет можно использовать для задания или изменения свойств элементов. Например, командлет Set-ItemProperty можно использовать для присвоения свойству IsReadOnly объекта файла значения true.
Командлет Set-ItemProperty можно также использовать для создания и изменения параметров и значений реестра. Например, можно добавить в раздел реестра новую запись и задать или изменить ее значение.
Параметры
-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение "Текущий пользователь".
Введите имя пользователя, например "User01" или "Domain01\User01", или введите объект PSCredential, например объект, создаваемый командлетом Get-Credential. При вводе имени пользователя система запросит пароль.
Этот параметр не поддерживается ни одним из установленных с Windows PowerShell поставщиком.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Exclude <string[]>
Определяет элементы, которые не должны быть обработаны командлетом, и включает все остальные.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Filter <string>
Задает фильтр с использованием формата или языка поставщика. Значение этого параметра определяет значение параметра Path. Синтаксис фильтра, в том числе использование подстановочных знаков, зависит от поставщика. Фильтры эффективнее других параметров, потому что поставщик применяет их при извлечении объектов (вместо использования Windows PowerShell для фильтрации извлеченных объектов).
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Force
Разрешает командлету устанавливать значения свойств элементов, которые были бы недоступны пользователю другими способами. Реализация варьируется от поставщика к поставщику. Дополнительные сведения см. в разделе About_Providers.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Include <string[]>
Определяет только элементы, которые будут обработаны командлетом, и исключает все остальные.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <psobject>
Задает объект, свойства которого необходимо изменить. Укажите переменную, содержащую объект, либо введите команду, получающую его.
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-LiteralPath <string[]>
Задает путь к свойству элемента. Значение параметра LiteralPath используется точно в том виде, в котором оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь включает escape-символы, его нужно заключить в одиночные кавычки. Одиночные кавычки указывают оболочке Windows PowerShell, что никакие символы не следует интерпретировать как escape-символы.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Name <string>
Задает имя свойства.
Обязательно? |
true |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-PassThru
Возвращает объект, представляющий свойство элемента. По умолчанию этот командлет не формирует никаких выходных данных.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Path <string[]>
Задает путь к элементам, свойство которых нужно задать.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Value <Object>
Задает значение свойства.
Обязательно? |
true |
Позиция? |
3 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.Management.Automation.PSObject Объекты можно передать командлету Set-ItemProperty по конвейеру. |
Выходные данные |
Нет или System.Management.Automation.PSCustomObject Если задан параметр PassThru, командлет Set-ItemProperty формирует объект PSCustomObject, представляющий измененный элемент и новое значение его свойства. В противном случае этот командлет не формирует никаких выходных данных. |
Примечания
Командлет Set-ItemProperty предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PSProvider". Дополнительные сведения см. в разделе About_Providers.
Пример 1
C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value $true
Описание
-----------
Эта команда присваивает свойству IsReadOnly файла final.doc значение "true".
Команда изменяет значение свойства файла final.doc с помощью командлета Set-ItemProperty. Для задания файла используется параметр Path. Параметр Name используется для задания имени свойства, а параметр Value — для задания нового значения.
Автоматическая переменная $true представляет значение TRUE. Дополнительные сведения см. в разделе about_Automatic_Variables.
Файл является объектом System.IO.FileInfo, и IsReadOnly — лишь одно из его свойств. Чтобы просмотреть все свойства и методы объекта FileInfo, передайте файл по конвейеру командлету Get-Member. Например: "final.doc | get-member".
Пример 2
C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823
C:\PS>get-itemproperty -path 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 : 823
C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824
C:\PS>get-itemproperty -path 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 : 824
Описание
-----------
В этом примере показано, как использовать командлет Set-ItemProperty для создания новой записи в реестре и присвоения этой записи значения. В нем создается запись NoOfEmployees в разделе MyCompany, который находится в разделе HKLM\Software, и этой записи присваивается значение 823.
Поскольку записи реестра рассматриваются как свойства разделов реестра (которые представляют собой элементы), командлет Set-ItemProperty можно использовать для создания записей реестра, а также для задания и изменения их значений.
Первая команда с помощью командлета Set-ItemProperty создает запись реестра. Для задания пути к диску HKLM: и разделу Software\MyCompany используется параметр Path. Параметр Name используется для задания имени записи, а параметр Value — для задания значения.
Вторая команда с помощью командлета Get-ItemProperty отображает новую запись реестра. Просмотреть записи с помощью командлета Get-Item или Get-ChildItem нельзя, поскольку записи являются свойствами раздела, а не элементами или дочерними элементами.
Третья команда изменяет значение записи NoOfEmployees на 824.
Также можно создать запись реестра и ее значение с помощью командлета New-ItemProperty, а затем с помощью командлета Set-ItemProperty изменить значение.
Чтобы получить дополнительные сведения о диске HKLM:, введите команду "get-help get-psdrive". Чтобы получить дополнительные сведения об использовании Windows PowerShell для управления реестром, введите команду "get-help registry".
Пример 3
C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $true
Описание
-----------
На примере этих команд показано, как переслать элемент командлету Set-ItemProperty с помощью оператора конвейера (|).
В первой части команды используется командлет Get-ChildItem для получения объекта, представляющего файл Weekly.txt. С помощью оператора конвейера объект файла пересылается командлету Set-ItemProperty. Параметры Name и Value команды Set-ItemProperty используются для задания свойства и его нового значения.
Эта команда эквивалентна использованию параметра InputObject для задания объекта, получаемого командлетом Get-ChildItem.
См. также
Концепции
about_Providers
Get-ItemProperty
New-ItemProperty
Clear-ItemProperty
Remove-ItemProperty
Rename-ItemProperty
Move-ItemProperty
Copy-ItemProperty