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

Синтаксис

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

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

Описание

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

Параметры

-Credential <PSCredential>

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

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

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Exclude <string[]>

Исключает указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Filter <string>

Задает фильтр с использованием формата или языка поставщика. Значение этого параметра определяет значение параметра Path. Синтаксис фильтра, в том числе использование подстановочных знаков, зависит от поставщика. Фильтры эффективнее других параметров, потому что поставщик применяет их при извлечении объектов (вместо использования Windows PowerShell для фильтрации извлеченных объектов).

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Force

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

Изменяет только указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-LiteralPath <string[]>

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

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-PassThru

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Path <string[]>

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

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Value <Object>

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

Обязательно?

false

Позиция?

2

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, 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.Object

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

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

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

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

Примечания

Командлет Set-Item также можно вызывать с помощью встроенного псевдонима "si". Дополнительные сведения см. в разделе About_Aliases.

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

На дисках реестра (HKLM: и HKCU:) командлет Set-Item изменяет значение параметра Default раздела реестра. Для создания и изменения имен разделов реестра используются командлеты New-Item и Rename-Item. Чтобы изменить имена и данные параметров реестра, используйте командлеты New-ItemProperty, Set-ItemProperty и Rename-ItemProperty.

Командлет Set-Item предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PsProvider". Дополнительные сведения см. в разделе About_Providers.

Пример 1

C:\PS>set-item -path alias:np -value c:\windows\notepad.exe

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






Пример 2

C:\PS>set-item -path env:UserRole -value Administrator

Описание
-----------
Эта команда использует командлет Set-Item для присвоения переменной среды "UserRole" значения "Administrator".






Пример 3

C:\PS>set-item -path function:prompt -value {'PS '+ $(Get-Date -format t) + " " + $(Get-Location) + '> '}

Описание
-----------
В этой команде командлет Set-Item используется для изменения функции "prompt" таким образом, чтобы перед значением пути отображалось время.






Пример 4

C:\PS>set-item -path function:prompt -options "AllScope,ReadOnly"

Описание
-----------
Эта команда задает значения параметров AllScope и ReadOnly для функции "prompt". В ней используется динамический параметр Options командлета Set-Item. Параметр Options доступен для Set-Item только при использовании с поставщиком Alias или Function.






См. также




Содержание