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


Set-ItemProperty

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

Синтаксис

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. Он использует path для указания файла, Name — имя, чтобы указать имя свойства, и параметр 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. Create записи и значения реестра

В этом примере показано, как создать 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. Изменение элемента с помощью конвейера

В этом примере для получения weekly.txt файла используется Get-ChildItem . Объект файла передается в Set-ItemProperty. Команда Set-ItemProperty использует параметры Name и Value для указания свойства и его нового значения.

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

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Примечание

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

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

Дополнительные сведения см. в разделе about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Задает имя свойства.

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Type

Это динамический параметр, доступный поставщиком реестра . Поставщик реестра и этот параметр доступны только в Windows.

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

  • String: задает строку, завершаемую null. Используется для REG_SZ значений.
  • ExpandString: указывает строку, завершающуюся значением NULL, которая содержит нерасширенные ссылки на переменные среды, которые развертываются при извлечении значения. Используется для REG_EXPAND_SZ значений.
  • Binary: задает двоичные данные в любой форме. Используется для REG_BINARY значений.
  • DWord: задает 32-разрядное двоичное число. Используется для REG_DWORD значений.
  • MultiString: задает массив строк, заканчивающихся значением NULL, которые заканчиваются двумя символами NULL. Используется для REG_MULTI_SZ значений.
  • Qword: задает 64-разрядное двоичное число. Используется для REG_QWORD значений.
  • Unknown: указывает неподдерживаемый тип данных реестра, например REG_RESOURCE_LIST значения.
Type:RegistryValueKind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Задает значение свойства.

Type:Object
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

PSObject

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

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

None

По умолчанию этот командлет не возвращает выходные данные.

PSCustomObject

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

Примечания

PowerShell включает следующие псевдонимы для Set-ItemProperty:

  • Для всех платформ.
    • sp

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