4

問題が発生しました。PowerShell を使用してユーザー環境変数を設定しようとしています。

[Environment]::SetEnvironmentVariable($key,$value,'User')

しかし、レジストリを調べると、新しいエントリのタイプがREG_SZ.

タイプにしたいと思いREG_EXPAND_SZます。

誰かがこの問題で私を助けることができますか?

ありがとう

4

2 に答える 2

7

レジストリメソッドにはMicrosoft.Win32名前空間を使用します。データ型を設定するには、RegistryValueKind列挙を使用します。そのようです、

[Microsoft.Win32.Registry]::SetValue("HKEY_CURRENT_USER\Environment","MyKey","1",[Microsoft.Win32.RegistryValueKind]::ExpandString)

ユーザー変数はHKEY_CURRENT_USER\Environmentにあります

システム変数は、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager\Environmentにあります。

于 2012-07-02T14:01:48.957 に答える
2
Set-ItemProperty HKCU:\Environment $key $value -Type ExpandString

またはゴルフ

sp hkcu:environment $key $value -t e

Set-ItemProperty は、一部のシステムでレジストリ値を DWord ではなく文字列として設定します。なぜですか?

于 2014-06-23T05:48:44.140 に答える