lit*_*lit 5 registry powershell
在系统属性 > 环境变量 > 用户变量 > PATH 中包含:
%USERPROFILE%\Downloads\SysinternalsSuite;%USERPROFILE%\bin
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式检索该值:
PS C:\src\t> (Get-ItemProperty -Path HKCU:\Environment).PATH
C:\Users\lit\Downloads\SysinternalsSuite;C:\Users\lit\bin
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有变量扩展的情况下获得原始值?几乎似乎Get-ItemProperty需要一个-Raw开关。
PetSerAl与之前多次一样,在对该问题的简短评论中提供了有效的解决方案。
事实上,当前的PowerShell Get-ItemProperty/Get-ItemPropertyValue cmdlet (PowerShell 7.3.0)缺乏检索注册表值的原始值的能力REG_EXPAND_SZ,这意味着在嵌入式环境变量引用(例如,)扩展(插值)之前存储在注册表中的值。%USERPROFILE%
因此需要直接使用 .NET API:
(Get-Item -Path HKCU:\Environment).GetValue(
'PATH', # the registry-value name
$null, # the default value to return if no such value exists.
'DoNotExpandEnvironmentNames' # the option that suppresses expansion
)
Run Code Online (Sandbox Code Playgroud)
看[Microsoft.Win32.RegistryKey].GetValue()。
注:由PowerShell'DoNotExpandEnvironmentNames'自动转换为;[Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentVariables您也可以使用后者。
| 归档时间: |
|
| 查看次数: |
519 次 |
| 最近记录: |