ユーザー環境変数は、マシン上のユーザー アカウントごとに個別です。
次のことを考慮してください。私は管理者以外のユーザー アカウントでログインしています。今度は、のコンテキストで実行されている C# アプリケーションを使用して、userA
他のユーザー (たとえば ) の環境変数を取得/設定したいと考えています。userB
userA
これは可能ですか?もしそうなら、どうすればこれを行うことができますか?
ユーザー環境変数は、マシン上のユーザー アカウントごとに個別です。
次のことを考慮してください。私は管理者以外のユーザー アカウントでログインしています。今度は、のコンテキストで実行されている C# アプリケーションを使用して、userA
他のユーザー (たとえば ) の環境変数を取得/設定したいと考えています。userB
userA
これは可能ですか?もしそうなら、どうすればこれを行うことができますか?
環境変数はレジストリに保存されるため、別のユーザー用に変更するには、レジストリハイブをインポートする必要があります。
ユーザー変数のキーは
HKEY_CURRENT_USER\Environment
システム変数のキーは
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
したがって、現在のユーザーハイブをインポートする場合は、他のユーザー用に変更するか、マシン変数の場合HKLM
は任意の管理者アカウントからキーを変更できます。
これは厄介ですが、私はあなたにそれをすることをお勧めしません。
または、P/Invokeを使用して偽装を使用することもできます。