बिना लॉग आउट किए मैं उपयोगकर्ता के PATH पर्यावरण चर को कैसे संशोधित कर सकता हूं?


22

यह सवाल बहुत कुछ कहता है; मेरे पास ऐसे उपयोगकर्ता हैं जिनके पास अपने स्वयं के PATHपर्यावरण चर को संपादित करने की अनुमति नहीं है और यदि उन्हें किसी कारण से इसे संशोधित करने की आवश्यकता है, तो उन्हें लॉग आउट करने की आवश्यकता है ताकि PATHउपयोगकर्ता लॉग इन करने से पहले एक व्यवस्थापक लॉग इन कर सके और उनके लिए बदल सके। । यह आदर्श नहीं है। क्या इसे बेहतर तरीके से किया जा सकता है?


बस जिज्ञासु - लेकिन वास्तव में आप उपयोगकर्ताओं को अपने स्वयं के डिफ़ॉल्ट वातावरण को बदलने से कैसे रोक रहे हैं? क्या आप उन्हें मेरा कंप्यूटर / गुण / उन्नत / पर्यावरण चर पर पहुँच से वंचित कर रहे हैं? वे अभी भी विभिन्न तरीकों के माध्यम से एचकेसीयू / पर्यावरण को संशोधित कर सकते हैं।
कूपर


समूह नीति प्राथमिकताएँ? सिर्फ एक विचार।
साइमन कैटलिन

जवाबों:


6

आप हमेशा प्रशासक अधिकारों (या किसी अन्य रनस पद्धति) के साथ एक cmd शेल को लागू कर सकते हैं, और स्थायी रूप से पथ को संशोधित करने के लिए SETX जैसे उपकरण का उपयोग कर सकते हैं । मौजूदा गोले और / या चल रहे कार्यक्रम शायद पुराने रास्ते का उपयोग कर रहे हैं, लेकिन कोई भी नया शेल / प्रोग्राम नई सेटिंग्स का उपयोग करेगा।


25

व्यवस्थापक विशेषाधिकारों के बिना खातों के लिए:

"उपयोगकर्ता खाते" खोलें और "मेरे पर्यावरण चर बदलें" ( http://support.microsoft.com/kb/931715 ) चुनें।

यह संवाद आपको आपके वर्तमान उपयोगकर्ता चर के साथ-साथ सिस्टम चर भी दिखाएगा। यदि आप पहले से ही नहीं है, तो आपको एक स्थानीय पथ चर जोड़ने की आवश्यकता हो सकती है।

उदाहरण के लिए, पायथन 3.3 निर्देशिका को शामिल करने के लिए अपने पथ को अपडेट करने के लिए, नया क्लिक करें:

परिवर्तनीय नाम: पथ परिवर्तनशील मूल्य:% पथ%; C: \ Python33

यह वर्तमान प्रणाली PATH को जोड़कर और इसे जोड़कर एक स्थानीय PATH बनाता है।


2
मुझे यह जवाब सोचने को मिला है, " मेरे पास ऐसे उपयोगकर्ता हैं जिनके पास अपने स्वयं के PATH को संपादित करने की अनुमति नहीं है ...", और ऐसा स्थायी रूप से करता है , बाकी की तुलना में बेहतर है। बहुत अच्छी तरह से किया। आश्चर्य है कि अगर यह नहीं है तो माय कंप्यूटर से उस पर क्लिक करना सुरक्षित है? गैर-स्थानीय फ़ील्ड्स को उसी तरह सुरक्षित रखें जिस तरह से यूआई इस तरह से एक्सेस करता है।
रफिन

10

मेरा कंप्यूटर / गुण / उन्नत / पर्यावरण चर। पहले से खुली कमांड प्रॉम्प्ट विंडो को छोड़कर तुरंत वहां बदलाव होता है । लॉग आउट करने और वापस अंदर जाने की आवश्यकता नहीं है।

नोट: यदि आपके पास उस विंडो तक पहुंच नहीं है, तो आप rundll32 sysdm.cpl,EditEnvironmentVariablesरन विंडो या कमांड-लाइन से चलाकर इसे प्राप्त करने में सक्षम हो सकते हैं ।


मेरे नेटवर्क के नियमित उपयोगकर्ता इस तरह से अपने स्वयं के पर्यावरण चर को बदलने में सक्षम नहीं हैं, जब तक कि मैं उस स्क्रीन को "रन के रूप में ..." या कुछ इसी तरह के माध्यम से नहीं खोल सकता, यह मेरे लिए काम नहीं करेगा
ninesered

4

कमांड प्रॉम्प्ट में आप यह कर सकते हैं:

set PATH=C:\somedir;%PATH%

लेकिन यह केवल कमांड प्रॉम्प्ट (और कमांड प्रॉम्प्ट से लॉन्च किए गए किसी भी एप्लिकेशन) के लिए इसे बदलता है। यह मानते हुए कि आप यह चाहते हैं कि उपयोगकर्ता द्वारा उन सभी चीजों पर लागू किया जाए जो आप उपयोगकर्ताओं के पर्यावरण चर को बदलते हैं। मेरा कंप्यूटर, गुण, उन्नत, पर्यावरण चर और "एक चर जोड़ने के लिए उपयोगकर्ता चर" पर राइट क्लिक करें:

PATH = C:\whatever

जब उपयोगकर्ता लॉग इन करता है तो सिस्टम वाइड पाथ में जुड़ जाता है।


मुझे पहले से ही PATH में प्रविष्टियों के क्रम को बदलने की आवश्यकता है, इसलिए उपयोगकर्ता चर से हटाने से इस मामले में मेरे लिए काम नहीं करता है
ninesered

setx, @Berzemus के रूप में, सिस्टम पथ चर ( /mस्विच) को स्थायी रूप से संपादित कर सकता है ।
पैट

2

उपयोगकर्ता कमांड-प्रॉम्प्ट पर एक PATH चर सेट कर सकता है जो सिस्टम-वाइड PATH चर को ओवरराइड करेगा, भले ही उपयोगकर्ता के पास "व्यवस्थापक" अधिकार न हों। परिवर्तन नई प्रक्रियाओं के लिए प्रभावी होगा जो उपयोगकर्ता उस कमांड प्रॉम्प्ट से शुरू होता है। (मौजूदा एक्सप्लोरर प्रक्रिया, और उपयोगकर्ता द्वारा परिवर्तन किए जाने पर कोई भी अन्य प्रक्रिया चल रही है, परिवर्तन को "नहीं देखेगा"।)


1

ऊपर दिए गए उत्तरों के अलावा, आप रजिस्ट्री को अपडेट भी कर सकते हैं (जिसमें स्क्रिप्ट योग्य होने का फायदा है):

पथ चर HKEY_CURRENT_USER \ पर्यावरण में संग्रहीत है।

वर्तमान पथ को पढ़ने के लिए:

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

फिर से, यह एप्लेट रजिस्ट्री को संपादित करता है और ऊपर जैसा प्रभाव डालता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.