यदि आप मैप्ड नेटवर्क ड्राइव्स का उपयोग कर रहे हैं, तो आपने शायद देखा होगा कि वे एडमिनिस्ट्रेटर विशेषाधिकारों के साथ चलने वाले ऐप्स में नहीं दिख रहे हैं (cmd और पावरशेल सहित)। डिफ़ॉल्ट यूजर अकाउंट कंट्रोल (UAC) सेटिंग्स एलिवेटेड मोड (एडमिनिस्ट्रेटर के रूप में चलाएं) में चल रहे एप्लिकेशन्स से मैप्ड नेटवर्क ड्राइव्स (via net use) तक पहुंच की अनुमति नहीं देती हैं। इसका मतलब है कि जब आप कमांड प्रॉम्प्ट या फाइल मैनेजर (जैसे टोटल कमांडर) को एलिवेटेड विशेषाधिकारों के साथ चलाते हैं, तो वे माउंटेड शेयर्ड फोल्डर्स के ड्राइव लेटर्स प्रदर्शित नहीं करेंगे।
आपको ऐसी समस्या का सामना करना पड़ सकता है यदि निम्न शर्तें पूरी होती हैं:
- नेटवर्क ड्राइव्स यूजर के सेशन में मैप्ड हैं (GPO के माध्यम से या मैन्युअली
net useके माध्यम से); - कंप्यूटर पर UAC सक्षम है (GPO पैरामीटर यूजर अकाउंट कंट्रोल: एडमिन अप्रूवल मोड में एडमिनिस्ट्रेटर्स के लिए एलिवेशन प्रॉम्प्ट का व्यवहार डिफ़ॉल्ट मान "क्रेडेंशियल्स के लिए संकेत" पर सेट है);
- वर्तमान यूजर के पास कंप्यूटर पर लोकल एडमिनिस्ट्रेटर अनुमतियां हैं और ऐप को "एडमिनिस्ट्रेटर के रूप में चलाएं" मोड में चलाता है।
इस मामले में, नेटवर्क ड्राइव्स विंडोज फाइल एक्सप्लोरर और ऐप्स में प्रदर्शित होते हैं, लेकिन एलिवेटेड मोड में चल रहे किसी भी एप्लिकेशन में प्रदर्शित नहीं होते।
इस लेख में हम दिखाएंगे कि विंडोज 10 पर एलिवेटेड मोड में चल रहे ऐप्स से मैप्ड नेटवर्क ड्राइव्स तक पहुंच की अनुमति कैसे दें। यह समस्या ग्रुप पॉलिसी के माध्यम से मैप्ड नेटवर्क ड्राइव्स और यूजर्स द्वारा कनेक्ट किए गए फोल्डर्स दोनों के लिए होती है।
महत्वपूर्ण. किसी विशिष्ट प्रोग्राम के लिए भी UAC को पूरी तरह से अक्षम करना दृढ़ता से अनुशंसित नहीं है।
विंडोज ऐप्स में मैप्ड नेटवर्क ड्राइव्स नहीं दिख रहे
आइए जांचें कि आप UAC सक्षम होने पर सामान्य मोड में कनेक्टेड मैप्ड नेटवर्क ड्राइव को एलिवेटेड एप्लिकेशन से एक्सेस नहीं कर सकते। उदाहरण के लिए, आइए यूजर अनुमतियों के साथ एक कमांड प्रॉम्प्ट खोलें और जांचें कि क्या आप मैप्ड नेटवर्क ड्राइव Z:\ की सामग्री तक पहुंच सकते हैं।
Net use
Dir z:
कमांड को शेयर्ड नेटवर्क फोल्डर की सामग्री सूचीबद्ध करनी चाहिए।
यदि आप वर्तमान सेशन में कमांड प्रॉम्प्ट को एडमिनिस्ट्रेटर के रूप में खोलते हैं, और उसी ड्राइव तक पहुंचने का प्रयास करते हैं – तो आपको संदेश मिलेगा कि ड्राइव का पथ नहीं मिला:
सिस्टम निर्दिष्ट पथ नहीं ढूंढ सका।
विंडोज का यह व्यवहार तब असुविधा पैदा कर सकता है जब आप अक्सर एलिवेटेड मोड में एप्लिकेशन चलाते हैं। एप्लिकेशन को एडमिनिस्ट्रेटर विशेषाधिकारों के बिना चलाना संभव है, लेकिन यह हमेशा लागू नहीं होता।
ऐसा क्यों होता है? यह विशेषता लोकल एडमिनिस्ट्रेटर विशेषाधिकारों वाले यूजर के लिए UAC तंत्र से संबंधित है। बात यह है कि जब यह यूजर लॉग इन करता है, तो दो एक्सेस टोकन बनाए जाते हैं: पहला टोकन अक्षम एडमिनिस्ट्रेटर विशेषाधिकारों के साथ एक्सेस प्रदान करता है (फिल्टर्ड एक्सेस टोकन, जिसके साथ अधिकांश ऐप्स चल रहे हैं) और दूसरा सिस्टम में पूर्ण विशेषाधिकारों के साथ एडमिनिस्ट्रेटर टोकन है (UAC द्वारा एलिवेशन के लिए स्वीकृत सभी ऐप्स इस संदर्भ में चल रहे हैं)।
आप एक ही यूजर के दो cmd.exe सेशन्स (सामान्य और एलिवेटेड) में whoami /all कमांड का उपयोग कर सकते हैं और वर्तमान विशेषाधिकारों की तुलना कर सकते हैं, आप देख सकते हैं कि वे बहुत अलग हैं। निम्न तालिका प्रत्येक सेशन में सुरक्षा समूहों और वर्तमान विशेषाधिकारों में अंतर को सूचीबद्ध करती है।
सामान्य यूजर सेशन | एलिवेटेड यूजर सेशन | सुरक्षा समूह
Mandatory Label\Medium Mandatory Level Label S-1-16-8192 | Mandatory Label\High Mandatory Level Label S-1-16-12288 | विशेषाधिकार
SeLockMemoryPrivilege | SeLockMemoryPrivilege |
SeMachineAccountPrivilege | SeIncreaseQuotaPrivilege |
SeShutdownPrivilege | SeMachineAccountPrivilege |
SeChangeNotifyPrivilege | SeSecurityPrivilege |
SeUndockPrivilege | SeTakeOwnershipPrivilege |
SeIncreaseWorkingSetPrivilege | SeLoadDriverPrivilege |
SeTimeZonePrivilege | SeSystemProfilePrivilege |
| SeSystemtimePrivilege |
| SeProfileSingleProcessPrivilege |
| SeIncreaseBasePriorityPrivilege |
| SeCreatePagefilePrivilege |
| SeBackupPrivilege |
| SeRestorePrivilege |
| SeShutdownPrivilege |
| SeSystemEnvironmentPrivilege |
| SeChangeNotifyPrivilege |
| SeRemoteShutdownPrivilege |
| SeUndockPrivilege |
| SeManageVolumePrivilege |
| SeImpersonatePrivilege |
| SeCreateGlobalPrivilege |
| SeIncreaseWorkingSetPrivilege |
| SeTimeZonePrivilege |
| SeCreateSymbolicLinkPrivilege |
| SeDelegateSessionUserImpersonatePrivilege
UAC सक्षम होने पर समान यूजर के तहत एप्लिकेशन्स दो संदर्भों में चल सकते हैं (विशेषाधिकार प्राप्त और गैर-विशेषाधिकार प्राप्त)। जब आप शेयर्ड नेटवर्क फोल्डर्स मैप करते हैं, तो सिस्टम सिम्बोलिक लिंक्स (DosDevices) बनाता है जो ड्राइव लेटर मैपिंग को UNC पथों में संग्रहीत करते हैं। ये लिंक्स वर्तमान प्रोसेस एक्सेस टोकन से जुड़े होते हैं और अन्य टोकन्स के लिए उपलब्ध नहीं होते।
रिवर्स समस्या भी हो सकती है: जब कंप्यूटर पर एडमिनिस्ट्रेटर अनुमतियों वाला यूजर ग्रुप पॉलिसी लॉगऑन स्क्रिप्ट्स, शेड्यूल्ड टास्क्स या SCCM जॉब्स का उपयोग करके नेटवर्क ड्राइव्स कनेक्ट कर रहा है (जो एलिवेटेड विशेषाधिकारों के साथ चल रहे हैं), तो ये ड्राइव्स यूजर को फाइल एक्सप्लोरर (गैर-विशेषाधिकार प्राप्त प्रोसेस) में दिखाई नहीं देंगे।
टिप. आप विंडोज में फाइल एक्सप्लोरर को एडमिन अधिकारों (एलिवेटेड) के साथ चलाने के लिए एक सरल ट्रिक का उपयोग कर सकते हैं।
वर्कअराउंड के रूप में, आप एलिवेटेड कमांड प्रॉम्प्ट से निम्न कमांड्स का उपयोग करके नेटवर्क ड्राइव्स माउंट कर सकते हैं: net use या rundll32 SHELL32.dll,SHHelpShortcuts_RunDLL Connect।
EnableLinkedConnections: एलिवेटेड ऐप्स में मैप्ड ड्राइव्स सक्षम करना
एक आसान समाधान है। इसे लागू करने के लिए, आपको रजिस्ट्री में कुछ बदलाव करने होंगे:
- रजिस्ट्री एडिटर खोलें (regedit.exe);
- रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System; पर जाएं;
- EnableLinkedConnections नाम से एक नया पैरामीटर (DWORD प्रकार) बनाएं और मान 1 सेट करें;
टिप. वही परिवर्तन एक कमांड के साथ किया जा सकता है:reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLinkedConnections" /t REG_DWORD /d 0x00000001 /fया पावरशेल के साथ:New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name EnableLinkedConnections -Value 1 -PropertyType 'DWord' - अपने कंप्यूटर को पुनरारंभ करें (या LanmanWorkstation सर्विस को कमांड से पुनरारंभ करें:
get-service LanmanWorkstation |Restart-Service –Force, और विंडोज में पुनः लॉगऑन करें)।
कंप्यूटर पुनरारंभ करने के बाद, सुनिश्चित करें कि यूजर एडमिन अधिकारों के साथ चल रहे प्रोग्राम्स में मैप्ड नेटवर्क ड्राइव्स देख सकता है। रिवर्स कथन भी सत्य है: एलिवेटेड मोड में मैप्ड सभी नेटवर्क ड्राइव्स अनप्रिविलेज्ड यूजर सेशन में भी उपलब्ध होंगे।
यह विस्टा से शुरू होकर विंडोज 10/विंडोज सर्वर 2019 तक सभी विंडोज वर्जन्स पर काम करता है।
नोट. दुर्भाग्य से EnableLinkedConnections मोड को सक्षम करने के लिए कोई GPO सेटिंग नहीं है। डोमेन कंप्यूटर्स पर इस सेटिंग को लागू करने के लिए आपको GPP के माध्यम से इस रजिस्ट्री पैरामीटर को तैनात करना होगा।
यह कैसे काम करता है? EnableLinkedConnections रजिस्ट्री पैरामीटर को सक्षम करने के बाद, LanmanWorkstation और LSA (lsass.exe) वर्तमान यूजर के सेशन से जुड़े दूसरे एक्सेस टोकन की जांच करेंगे। यदि यह टोकन मिल जाता है, तो मैप्ड नेटवर्क ड्राइव्स की सूची एक टोकन से दूसरे में कॉपी हो जाएगी। इस प्रकार, विशेषाधिकार प्राप्त मोड में मैप्ड नेटवर्क ड्राइव्स सामान्य मोड में दिखाई देंगे, और इसके विपरीत।
टिप. वैकल्पिक समाधान के रूप में, आप टारगेट शेयर्ड नेटवर्क फोल्डर के लिए एक सिम्बोलिक लिंक बना सकते हैं। उदाहरण के लिए, इस प्रकार:
mklink /D c:\docs \\dublin-fs1\docs
आप इस ड्राइव को सामान्य और एलिवेटेड दोनों मोड में एक्सेस कर सकते हैं। यह ध्यान दिया जाना चाहिए कि इस विधि की कमियों में से एक यह है कि आप शेयर्ड फोल्डर को वर्तमान यूजर के रूप में एक्सेस करते हैं। net use कमांड के मामले में किसी अन्य यूजर के खाते का उपयोग करना असंभव है।
EnableLinkedConnections पैरामीटर को सक्षम करने के बाद, मैप्ड ड्राइव्स वर्तमान यूजर के तहत लॉन्च किए गए शेड्यूल्ड टास्क्स से भी उपलब्ध हो जाएंगे। यदि टास्क LocalSystem या किसी अन्य यूजर के रूप में चलता है, तो वर्तमान यूजर के मैप्ड नेटवर्क ड्राइव्स अनुपलब्ध होंगे।