PowerShell:获取'tmp'环境变量原始值

时间:2011-01-04 21:19:31

标签: powershell environment-variables

$env:tmp

[Environment]::GetEnvironmentVariable('tmp', 'User')

(get-item hkcu:\Environment).GetValue('tmp')

以上所有PowerShell代码段都会返回C:\Users\Roman\AppData\Local\Temp值。我知道该值应为%USERPROFILE%\AppData\Local\Temp(我可以在regedit和Environment Variables窗口中看到)。

我需要知道'原创',但不是'已解决'的价值。如何在PowerShell中读取此值?

感谢。

1 个答案:

答案 0 :(得分:5)

最后,我找到了一个适合我的解决方案:

(get-item hkcu:\Environment).GetValue('tmp', $null, 'DoNotExpandEnvironmentNames')

在编写了以下PowerShell / C#代码之后,我发现了这个GetValue重载:

$reg = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey("Environment", $true);
$val = $reg.GetValue('tmp', $null, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)
$val
$reg.Close()