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


о_Поставщике_Окружения

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

Окружающая среда

Drives

Env:

Capabilities

ShouldProcess

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

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

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

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

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

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

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

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

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

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

Set-Location Env:

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

Set-Location C:

Вы также можете работать с поставщиком среды с любого другого диска PowerShell. Чтобы ссылаться на переменную среды из другого места, используйте имя диска 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:

См. также