about_Environment_Provider

提供程序名称

Environment

驱动器

Env:

功能

ShouldProcess

简短说明

提供对 Windows 环境变量的访问权限。

详细说明

PowerShell Environment 提供程序允许在 PowerShell 中获取、添加、更改、清除和删除环境变量和值。

环境变量是动态命名的变量,用于描述程序的运行环境。 Windows 和 PowerShell 使用环境变量来存储影响系统和进程执行的持久性信息。 与 PowerShell 变量不同,环境变量不受作用域限制。

Environment 驱动器是一个包含特定于当前用户会话的环境变量的平面命名空间。 环境变量没有子项。

Environment 提供程序支持本文中介绍的以下 cmdlet。

此提供程序公开的类型

每个环境变量都是 System.Collections.DictionaryEntry 类的实例。 变量的名称是字典键。 环境变量的值是字典值。

Environment 提供程序在 Env: 驱动器中公开其数据存储。 若要使用环境变量,请将位置更改为 Env: 驱动器 (Set-Location Env:),或从另一个 PowerShell 驱动器进行操作。 若要从其他位置引用环境变量,请在路径中使用驱动器名称 Env:

Set-Location Env:

若要返回到文件系统驱动器,请键入驱动器名称。 例如,键入:

Set-Location C:

还可以从任何其他 PowerShell 驱动器使用 Environment 提供程序。 若要从其他位置引用环境变量,请在路径中使用驱动器名称 Env:

Environment 提供程序还使用变量前缀 $env: 公开环境变量。 以下命令查看 ProgramFiles 环境变量的内容。 可以从任何 PowerShell 驱动器使用 $env: 变量前缀。

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

还可以使用 $env: 变量前缀更改环境变量的值。 只要当前 PowerShell 会话处于活动状态,所做的任何更改就只与当前 PowerShell 会话相关。

注意

PowerShell 使用别名来让你熟悉如何使用提供程序路径。 dirls 等命令现在是 Get-ChildItem 的别名,cdSet-Location 的别名。 而 pwdGet-Location 的别名。

获取环境变量

此命令列出当前会话中的所有环境变量。

Get-Item -Path Env:

你可以从任何 PowerShell 驱动器使用此命令。

Environment 提供程序没有容器,因此上述命令在与 Get-ChildItem 一起使用时具有相同的效果。

Get-ChildItem -Path Env:

获取选定的环境变量

此命令获取 WINDIR 环境变量。

Get-ChildItem -Path Env:windir

还可以使用变量前缀格式。

$env:windir

创建环境变量

此命令创建值为“Non-Admin”的 USERMODE 环境变量。 -Path 参数值在 Env: 驱动器中创建新项。 只要当前 PowerShell 会话处于活动状态,就只能在该会话中使用新环境变量。

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

更改环境变量

重命名环境变量

此命令使用 Rename-Item cmdlet 将创建的 USERMODE 环境变量的名称更改为 USERROLE。 不要更改系统所使用的环境变量的名称。 尽管这些更改仅影响当前会话,但它们可能会导致系统或程序无法正常运行。

Rename-Item -Path Env:USERMODE -NewName USERROLE

更改环境变量

此命令使用 Set-Item cmdlet 将 USERROLE 环境变量的值更改为“Administrator”。

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

使用管道

提供程序 cmdlet 接受管道输入。 可以使用管道将提供程序数据从一个 cmdlet 发送到另一个提供程序 cmdlet 来简化任务。 若要详细了解如何将管道与提供程序 cmdlet 配合使用,请参阅本文中提供的 cmdlet 参考。

获取帮助

从 Windows PowerShell 3.0 开始,你可以获取有关提供程序 cmdlet 的自定义帮助主题,它们介绍了这些 cmdlet 在文件系统驱动器中的行为方式。

若要获取针对文件系统驱动器进行自定义的帮助主题,请在文件系统驱动器中运行 Get-Help 命令,或使用 Get-Help-Path 参数来指定文件系统驱动器。

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

另请参阅