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


about_Environment_Provider

Имя поставщика

Среда

Диски

Env:

Возможности

ShouldProcess

Краткое описание

Предоставляет доступ к переменным среды Windows.

Подробное описание

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

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

Диск среды — это неструктурированное пространство имен, содержащее переменные среды, относящиеся к текущему сеансу пользователя. Переменные среды не имеют дочерних элементов.

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

Типы, предоставляемые этим поставщиком

Каждая переменная среды — это экземпляр класса System.Collections.DictionaryEntry . Имя переменной является ключом словаря. Значение переменной среды является значением словаря.

Поставщик среды предоставляет свое хранилище данных на Env: диске. Чтобы работать с переменными среды, измените расположение на Env: диск (Set-Location Env:) или запустите другой диск PowerShell. Чтобы ссылаться на переменную среды из другого расположения, используйте Env: имя диска в пути.

Set-Location Env:

Чтобы вернуться к диску файловой системы, введите имя диска. Например, введите:

Set-Location C:

Вы также можете работать с поставщиком среды с любого другого диска PowerShell. Чтобы ссылаться на переменную среды из другого расположения, используйте имя Env: диска в пути.

Поставщик среды также предоставляет переменные среды с помощью префикса переменной $env:. Следующая команда просматривает содержимое переменной среды ProgramFiles . Префикс переменной $env: можно использовать из любого диска PowerShell.

PS C:\> $env:ProgramFiles
C:\Program Files

Можно также изменить значение переменной среды с помощью префикса переменной $env: . Все внесенные изменения относятся только к текущему сеансу PowerShell до тех пор, пока он активен.

Примечание.

PowerShell использует псевдонимы, чтобы предоставить знакомый способ работы с путями поставщика. Такие команды, как dir и ls теперь являются псевдонимами для Get-ChildItem, cd — это псевдоним для set-Location. и pwd является псевдонимом для Get-Location.

Получение переменных среды

Эта команда перечисляет все переменные среды в текущем сеансе.

Get-Item -Path Env:

Эту команду можно использовать из любого диска PowerShell.

Поставщик среды не имеет контейнеров, поэтому указанная выше команда имеет тот же эффект при использовании.Get-ChildItem

Get-ChildItem -Path Env:

Получение выбранной переменной среды

Эта команда получает WINDIR переменную среды.

Get-ChildItem -Path Env:windir

Кроме того, можно использовать формат префикса переменной.

$env:windir

Создание переменной среды

Эта команда создает USERMODE переменную среды со значением "Non-Admin". Значение -Path параметра создает новый элемент на Env: диске. Новая переменная среды доступна только в текущем сеансе PowerShell до тех пор, пока она активна.

PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin

Изменение переменной среды

Переименование переменной среды

Эта команда использует Rename-Item командлет для изменения имени созданной переменной USERMODE USERROLEсреды. Не изменяйте имена переменных среды, используемых системой. Хотя эти изменения затрагивают только текущий сеанс, они могут привести к некорректному поведению системы или программы.

Rename-Item -Path Env:USERMODE -NewName USERROLE

Изменение переменной среды

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

Set-Item -Path Env:USERROLE -Value Administrator

Копирование переменной среды

Эта команда копирует значение переменной USERROLE среды в USERROLE2 переменную среды.

Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2

Удаление переменной среды

Эта команда удаляет USERROLE2 переменную среды из текущего сеанса.

Remove-Item -Path Env:USERROLE2

Удаление переменной среды с помощью Clear-Item

Эта команда удаляет USERROLE переменную среды, очищая его значение.

Clear-Item -Path Env:USERROLE

Использование конвейера

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

Получение справки

Начиная с Windows PowerShell 3.0, стали доступны настраиваемые разделы справки по командлетам поставщика, в которых объясняется поведение этих командлетов на диске файловой системы.

Чтобы получить разделы справки, настроенные для диска файловой системы, выполните команду Get-Help на диске файловой системы или используйте -Path параметр Get-Help , чтобы указать диск файловой системы.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env:

См. также