ログアウトせずにユーザーのPATH環境変数を変更するにはどうすればよいですか?


22

質問はほとんどすべてを言っています。自分のPATH環境変数を編集する権限を持っていないユーザーがいて、何らかの理由で環境変数を変更する必要がある場合PATH、ユーザーが再度ログインする前に管理者がログインして変更できるようにログアウトする必要があります。これは理想的ではありません。より良い方法でそれを行うことができますか?


好奇心が強いだけでなく、ユーザーが自分のデフォルト環境を変更するのをどの程度正確に防止していますか?マイコンピュータ/プロパティ/詳細設定/環境変数へのアクセスを拒否していますか?さまざまな方法でHKCU / Environmentを変更できます。
クーパー


グループポリシーの設定 ちょっとした考え。
サイモンカトリン

回答:


6

常に管理者権限(またはその他のrunasメソッド)でcmdシェルを呼び出し、SETXなどのツールを使用してパスを永続的に変更できます。既存のシェルや実行中のプログラムはおそらく古いパスを使用していますが、新しいシェル/プログラムは新しい設定を使用します。


25

管理者権限のないアカウントの場合:

「ユーザーアカウント」を開き、「環境変数の変更」を選択します(http://support.microsoft.com/kb/931715)。

このダイアログには、現在のユーザー変数とシステム変数が表示されます。ローカルのPATH変数をまだ追加していない場合は、追加する必要があります。

たとえば、Python 3.3ディレクトリを含めるようにパスを更新するには、[新規]をクリックします。

変数名:PATH変数値:%PATH%; C:\ Python33

これにより、現在のシステムPATHを取得して追加することにより、ローカルPATHが作成されます。


2
自分のPATHを編集する権限を持っていないユーザーがいます ...」と答え、他のユーザーよりも永続的にそうだと考えなければなりません。とてもうまくできました。これがそうでない場合、マイコンピュータからそれをクリックすることが管理者保護されているのはなぜですか?この方法でアクセスした場合のUIと同じ方法で、非ローカルフィールドを保護するだけです。
ルフィン14

10

マイコンピュータ/プロパティ/詳細設定/環境変数。既に開いているコマンドプロンプトウィンドウを除き、そこでの変更はすぐに有効になります。ログアウトして再度ログインする必要はありません。

注:そのウィンドウにアクセスできない場合rundll32 sysdm.cpl,EditEnvironmentVariablesは、[実行]ウィンドウまたはコマンドラインから実行して取得できる場合があります。


私はこれが私のために動作しません、「として実行...」または類似した何かを経由して上昇PRIVSでその画面を開くことができない限り、自分のネットワーク上の通常のユーザーが、このような自分自身の環境変数を変更することはできません
ninesided

4

コマンドプロンプトでは、次のことができます。

set PATH=C:\somedir;%PATH%

ただし、これはコマンドプロンプト(およびコマンドプロンプトから起動されたすべてのアプリ)に対してのみ変更されます。これをユーザーが行うすべてに適用すると仮定して、ユーザーの環境変数を変更します。[マイコンピューター]、[プロパティ]、[詳細設定]、[環境変数]を右クリックし、[変数を追加するためのユーザー変数:

PATH = C:\whatever

ユーザーがログインすると、システム全体のパスに追加されます。


私はユーザー変数から削除、追加すると、この場合には私のために仕事をしません、PATHにすでにエントリの順序を変更する必要がある
ninesided

setx、@ Berzemusが述べたように、システムのPATH変数(/mスイッチ)を永久に編集できます。
パット

2

ユーザーは、コマンドプロンプトでPATH変数を設定できます。これにより、ユーザーに「管理者」権限がない場合でも、システム全体のPATH変数が上書きされます。この変更は、ユーザーがそのコマンドプロンプトから起動する新しいプロセスに対して有効になります。(既存のExplorerプロセス、および変更が行われたときにユーザーが実行している他のプロセスは、変更を「認識」しません。)


1

上記の回答に加えて、レジストリを更新することもできます(スクリプトを作成できるという利点があります)。

PATH変数はHKEY_CURRENT_USER \ Environmentに保存されます。

現在のパスを読み取るには:

reg query HKEY_CURRENT_USER\Environment /v PATH

パスに値c:\ somedirを追加するには:

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

プロセスは起動時に環境を読み取るため、新しいパスを取得するにはプロセスを再起動する必要があります。

更新:私が見つけた別の方法は、実行することです:

rundll32 sysdm.cpl,EditEnvironmentVariables

繰り返しますが、このアプレットはレジストリを編集し、上記と同じ効果があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.