web-dev-qa-db-ja.com

Windows Server 2008 R2のユーザー環境変数を通常のユーザーとして設定する方法は?

古いバージョンのWindowsでは、コントロールパネルを開き、システムアプレットを選択し、[詳細設定]タブを選択してから、[環境変数]ボタンを押すだけでした。通常のユーザーとして、「システム変数」ではなく「ユーザー変数」を編集できます。

Windows Server 2008 R2では、システムアプレットの[システムの詳細設定]オプションを選択しようとすると、管理者パスワードの入力が求められます。

67
likm

この直接コマンドラインを使用して、[システムの詳細プロパティ]を開くこともできます。

sysdm.cpl

次に、[詳細設定]タブ-> [環境変数]に移動します

83
AlexCode

わかった。欲求不満の練習。環境変数を変更するための古いウィンドウメニュートラバーサルパスを残しましたが、管理者のみへのアクセスを制限しました。通常のユーザーとして、変更したい場合は、異なるオプションセットを使用して同じフリギングウィンドウに到達する必要があります。

コントロールパネル-> ユーザーアカウント-> ユーザーアカウント-> 環境変数の変更

65
likm

ステップバイステップの手順:

  • コントロールパネル\ SystemおよびSecurity\Systemに移動します
  • [設定の変更]をクリックします
  • 「詳細」タブに移動します
  • 環境変数をクリックします
21
Edgard Concha

「開始」の下で、検索フィールドに「環境」と入力します。システム変数を直接変更するオプションが、スタートメニューにリストされます。

5
h0r41i0

これは、SETXコマンドを使用してコマンドラインから実行できます。たとえば、一時ファイルを別のディスクに「移動」するには:

SETX TEMP d:\tmp
3
TimT

コマンドラインプロンプトで:

set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe

これで、ユーザー環境変数を設定できます。

2
excitoon

デスクトップにgodmodeフォルダーを作成しました。デスクトップに新しいフォルダを作成して、GodModeと呼びます。{ED7BA470-8E54-465E-825C-99712043E01C}フォルダにgodmodeという名前を付け、コンテンツにさまざまな設定オプションを入力します。検索でENVIROと入力するだけです関連する構成オプションを見つけるには、それを開き、[詳細設定]タブでsysdm.cplを開きます。そこから環境変数を変更できます。

2
salim ali

3つの方法があります

1)これにより、ユーザー環境変数のGUIエディターが実行されます。 OPが実行したいことを正確に行い、管理者の資格情報を要求しません。

rundll32.exe sysdm.cpl,EditEnvironmentVariables

(ボーナス:これは、Windows VistaからWindows 10のデスクトップおよびWindows Server 2008からServer 2016で機能します。WindowsNT、2000、XP、および2003では機能しません。ただし、古いシステムでは、sysdm.cplをせずに使用できます"、EditEnvironmentVariables"パラメーターを選択し、[詳細設定]タブ、[環境変数]ボタンの順に移動します。

2)コマンドプロンプトからSETXコマンドを使用します。これはsetコマンドに似ていますが、レジストリに保存されている環境を更新します。残念ながら、SETXは組み込みのSETコマンドほど使いやすいものではありません。たとえば、変数をリストする方法はありません。したがって、ユーザーのPATH変数にフォルダーを追加するようなことはできません。 SETは変数を表示しますが、どちらがユーザー変数であるかシステム変数であるかはわかりません。表示されるPATHは両方の組み合わせです。

3)regeditを使用して、HKEY_CURRENT_USER\Environmentに移動します

ユーザーの環境への変更は、そのユーザーに対して現在実行中のすべてのプロセスにすぐには反映されないことに注意してください。 SETを使用すると、変更が表示されないコマンドプロンプトでこれを確認できます。例えば

rem Add a user environment variable named stackoverflow that's set to "test"
setx stackoverflow test
set st

これは、名前が文字「st」で始まるすべての変数を表示する必要があります。ない場合は、「Environment variable st not defined」と表示されます。コマンドプロンプトを終了し、別のコマンドを開始します。 set stをもう一度試してみると、

stackoverflow=test

Stackoverflow変数を削除するには

setx stackoverflow ""

変数を削除する場合は、奇妙に見える「SUCCESS: Specified value was saved.」で応答します。ただし、新しいコマンドプロンプトを開始すると、set stは、「st」という文字で始まる変数がないことを示します。

(修正-setx stackoverflow ""が変数を削除しなかったことを発見しました。レジストリ内に空の文字列としてあります。SETコマンドは、変数がないように解釈します。if not defined stackoverflow echo Not definedは、定義されていません。)

0
user3347790