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


Set-Item

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

Синтаксис

Path (Default) - All providers

Set-Item
    [-Path] <String[]>
    [[-Value] <Object>]
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath - All providers

Set-Item
    [[-Value] <Object>]
    -LiteralPath <String[]>
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Path (Default) - Alias and Function providers

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

LiteralPath - Alias and Function providers

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

Path (Default) - Registry provider

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

LiteralPath - Registry provider

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

Запрашивает подтверждение перед запуском 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

Принуждает командлет изменять элементы, которые в противном случае невозможно было бы изменить, такие как псевдонимы только для чтения или переменные. Командлет не может изменять псевдонимы констант или переменные. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе о поставщиках. Даже при использовании параметра 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

-LiteralPath

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

Дополнительную информацию см. в разделе about_Quoting_Rules.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath, LP

Наборы параметров

LiteralPath
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Options

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

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

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

  • None: псевдоним не имеет ограничений (значение по умолчанию)
  • ReadOnly: псевдоним можно удалить, но не может быть изменен без использования параметра Force
  • Constant: псевдоним нельзя удалить или изменить
  • Private: Этот псевдоним доступен только в текущей области
  • AllScope: псевдоним копируется в любые новые области, которые создаются
  • Unspecified: параметр не указан

Свойства параметра

Тип:ScopedItemOptions
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PassThru

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

Path
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

Наборы параметров

(All)
Position:1
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства: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.

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

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. Дополнительные сведения см. в разделе о поставщиках.