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


Set-Item

Изменяет значение элемента на значение, указанное в команде.

Синтаксис

Set-Item
   [-Path] <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   -LiteralPath <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Описание

Командлет Set-Item изменяет значение элемента, например переменной или ключа реестра, на значение, указанное в команде.

Примеры

Пример 1. Создание псевдонима

Эта команда создает псевдоним "np" для программы "Блокнот".

Set-Item -Path Alias:np -Value "C:\windows\notepad.exe"

Пример 2. Изменение значения переменной среды

Эта команда изменяет значение переменной среды UserRole на Administrator.

Set-Item -Path Env:UserRole -Value "Administrator"

Пример 3. Изменение функции запроса

Эта команда изменяет функцию запроса, чтобы она отображала время до пути.

Set-Item -Path Function:prompt -Value {
    'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
}

Пример 4. Настройка параметров функции запроса

Эта команда задает параметры AllScope и ReadOnly для функции запроса. Эта команда использует динамический параметр параметров из Set-Item. Параметр доступен в Set-Item только при использовании с поставщиком псевдонимов или поставщиком функции .

Set-Item -Path Function:prompt -Options "AllScope,ReadOnly"

Параметры

-Confirm

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

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

-Credential

Заметка

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

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

-Exclude

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

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

-Filter

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

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

-Force

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

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

-Include

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

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

-LiteralPath

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

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

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

-Options

Это динамический параметр, доступный поставщиками псевдонима и функции . Для получения дополнительной информации см. разделы about_Alias_Provider и about_Function_Provider.

Указывает значение свойства Options псевдонима.

Допустимые значения:

  • None: псевдоним не имеет ограничений (значение по умолчанию)
  • ReadOnly: псевдоним можно удалить, но не может быть изменен без использования параметра Force
  • Constant: псевдоним нельзя удалить или изменить
  • Private: Этот псевдоним доступен только в текущей области
  • AllScope: псевдоним копируется в любые новые области, которые создаются
  • Unspecified: параметр не указан
Тип:ScopedItemOptions
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PassThru

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

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

-Path

Указывает путь к расположению элементов. Разрешены подстановочные знаки.

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

-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
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Value

Задает новое значение для элемента.

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

-WhatIf

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

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

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

Object

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

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

None

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

Object

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

Примечания

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

  • Все платформы:

    • si
  • Set-Item не поддерживается поставщиком файловой системы PowerShell. Чтобы изменить значения элементов в файловой системе, используйте командлет Set-Content.

  • В разделах реестра HKLM: и HKCU:Set-Item изменяет данные в значении (по умолчанию) ключа реестра.

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