Azure Files के साथ एक्सेस समस्याओं का निवारण करना: Net Use कमांड बनाम Azure पोर्टल स्क्रिप्ट

Azure फ़ाइल शेयर तक पहुँचने से कभी-कभी त्रुटियाँ हो सकती हैं, विशेष रूप से Azure पोर्टल से कॉपी की गई माउंट स्क्रिप्ट का उपयोग करते समय। एक सामान्य समस्या है “Access Denied” त्रुटि, जो Azure Files को Azure Virtual Desktop (AVD) परिवेश के हिस्से के रूप में कॉन्फ़िगर करते समय हो सकती है। यह मार्गदर्शिका समस्या के मूल कारण का पता लगाती है और समाधान प्रदान करती है, जिसमें तुलना की गई है Net Use command विधि की Azure पोर्टल स्क्रिप्ट दृष्टिकोण से।


मुख्य उपयोग मामला

यह समस्या निवारण परिदृश्य आमतौर पर ऐसे परिवेशों में उत्पन्न होता है जहाँ:

  • FSLogix Profile Containers का उपयोग Azure Files के साथ किया जाता है।
  •  Azure स्टोरेज खाता  ऑन-प्रेमिसेस Active Directory (AD) से जुड़ा हुआ है।
  • समूह नीति ऑब्जेक्ट (GPO) क्रेडेंशियल संग्रहण को प्रतिबंधित करते हैं, जिससे प्रमाणीकरण विफलताएँ होती हैं।

समस्या अवलोकन

Azure पोर्टल द्वारा प्रदान की गई स्क्रिप्ट का उपयोग करके Azure फ़ाइल शेयर माउंट करने का प्रयास करते समय, उपयोगकर्ताओं को त्रुटि का सामना करना पड़ सकता है “Access Denied” त्रुटि। यह समस्या तब भी बनी रहती है जब:

  • नए AVD होस्ट का उपयोग करना।
  • विभिन्न उपयोगकर्ता खातों के साथ परीक्षण करना।

प्रेक्षण

  1. लॉग में त्रुटि
    • बैकएंड लॉग (DGrep और Log Collector के माध्यम से एकत्र किए गए) त्रुटि दिखाते हैं Access Denied त्रुटि।
    • त्रुटि में शामिल है “KerberosClientOtherError”, जो इंगित करता है कि स्टोरेज खाता कुंजी क्रेडेंशियल के बजाय Kerberos प्रमाणीकरण का उपयोग किया जा रहा है।
  2. कार्य करने वाली बनाम कार्य न करने वाली विधियाँ
    • Net Use Command: स्टोरेज खाता कुंजी का उपयोग करके Azure फ़ाइल शेयर को सफलतापूर्वक माउंट करता है।
    • Azure पोर्टल स्क्रिप्ट: विफल रहता है क्योंकि प्रदान की गई स्टोरेज खाता कुंजी के बजाय Kerberos प्रमाणीकरण का उपयोग किया जाता है।

मूल कारण

यह समस्या निम्नलिखित कारकों के कारण होती है:

  1. क्रेडेंशियल प्रबंधक व्यवहार
    • Azure पोर्टल स्क्रिप्ट स्टोरेज खाता क्रेडेंशियल को सहेजती है Windows क्रेडेंशियल प्रबंधक में।
    • यदि क्रेडेंशियल कैश नहीं किए जा सकते (GPO प्रतिबंधों या कैश विफलताओं के कारण), तो स्क्रिप्ट प्रमाणीकरण के लिए डिफ़ॉल्ट रूप से वर्तमान उपयोगकर्ता के क्रेडेंशियल का उपयोग करती है।
  2. समूह नीति प्रतिबंध
    • GPO सेटिंग “Network access: Do not allow storage of passwords and credentials for network authentication” क्रेडेंशियल प्रबंधक को क्रेडेंशियल संग्रहीत करने से रोकती है।
    • परिणामस्वरूप, Kerberos प्रमाणीकरण का प्रयास किया जाता है, जो अपर्याप्त NTFS अनुमतियों के कारण विफल हो जाता है।

समस्या निवारण चरण

चरण 1: त्रुटि सत्यापित करें

दोनों विधियों के लिए नेटवर्क ट्रेस विश्लेषण करें:

  • Net Use Command: स्टोरेज खाता कुंजी का उपयोग करके SMB कनेक्शन सफलतापूर्वक स्थापित करता है।
  • Azure पोर्टल स्क्रिप्ट: Kerberos प्रमाणीकरण का प्रयास करता है, जिसके परिणामस्वरूप त्रुटि होती है Access Denied त्रुटि।

    चरण 2: Net Use कमांड के साथ परीक्षण करें

    निम्नलिखित Net Use command क्रेडेंशियल प्रबंधक को बाईपास करता है और प्रमाणीकरण के लिए सीधे स्टोरेज खाता कुंजी प्रदान करता है:

    net use <desired-drive-letter>: \\<storage-account-name>.file.core.windows.net\<share-name> <storage-account-key> /user:Azure\<storage-account-name>
    

    यह क्यों काम करता है:

    • क्रेडेंशियल कमांड में स्पष्ट रूप से प्रदान किए जाते हैं।
    • क्रेडेंशियल प्रबंधक या Kerberos प्रमाणीकरण पर कोई निर्भरता नहीं है।

    चरण 3: समूह नीति सेटिंग का विश्लेषण करें

    समूह नीति कॉन्फ़िगरेशन जाँचने के लिए निम्नलिखित कमांड चलाएँ:

    gpresult /h c:\temp\computer.html
    

    GPO सेटिंग के लिए परिणामी HTML फ़ाइल का निरीक्षण करें:
    “Network access: Do not allow storage of passwords and credentials for network authentication”

    यदि यह सेटिंग सक्षम है, तो Azure पोर्टल स्क्रिप्ट क्रेडेंशियल प्रबंधक में क्रेडेंशियल सहेज नहीं सकती, जिससे प्रमाणीकरण विफलताएँ होती हैं।

    Network access Do not allow storage of passwords and credentials for network authentication – Windows 10 | Microsoft Learn


    चरण 4: समाधान

    प्रतिबंधात्मक GPO अक्षम करें

    • खोलें समूह नीति प्रबंधन डोमेन नियंत्रक पर।
    • नीति खोजें: 

    Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options

    • Network access: Do not allow storage of passwords and credentials for network authentication।
    • नीति को Disabled पर सेट करें।

    इस नीति को अक्षम करने के बाद, Azure पोर्टल स्क्रिप्ट क्रेडेंशियल प्रबंधक में क्रेडेंशियल संग्रहीत कर सकती है, जिससे सफल प्रमाणीकरण संभव होता है।


    तुलना: Net Use कमांड बनाम Azure पोर्टल स्क्रिप्ट

    विधिप्रमाणीकरण तंत्रनिर्भरतापरिणाम
    Net Use Commandस्टोरेज खाता कुंजीकोई क्रेडेंशियल प्रबंधक नहींसफल
    Azure पोर्टल स्क्रिप्टKerberos (यदि कैश विफल हो तो फ़ॉलबैक)क्रेडेंशियल प्रबंधकयदि GPO कैश को प्रतिबंधित करता है तो विफल रहता है

    अतिरिक्त सुझाव

    1. प्रयोगशाला परिवेशों में परीक्षण करना
      GPO सेटिंग सक्षम करके समस्या का अनुकरण करें:
      Network access: Do not allow storage of passwords and credentials for network authentication।
    2. दस्तावेज़ीकरण संदर्भ
      आधिकारिक मार्गदर्शिका का पालन करें: Azure Files और AD DS या Microsoft Entra Domain Services के साथ FSLogix प्रोफ़ाइल कंटेनर सेट करें।
    3. नेटवर्क कॉन्फ़िगरेशन
      सुनिश्चित करें कि पोर्ट 445 SMB ट्रैफ़िक के लिए खुला है। यदि अवरुद्ध है, तो SMB ट्रैफ़िक को टनल करने के लिए Azure VPN या ExpressRoute का उपयोग करें।

    निष्कर्ष

    Azure पोर्टल स्क्रिप्ट का उपयोग करके Azure फ़ाइल शेयर माउंट करते समय होने वाली Access Denied त्रुटि अक्सर प्रतिबंधात्मक GPO सेटिंग के कारण होती है जो क्रेडेंशियल कैशिंग को रोकती है। Net Use command का उपयोग करने से क्रेडेंशियल प्रबंधक को बाईपास करके और सीधे स्टोरेज खाता कुंजी प्रदान करके एक विश्वसनीय समाधान मिलता है। प्रतिबंधात्मक GPO को अक्षम करने से Azure पोर्टल स्क्रिप्ट विधि की समस्या हल हो जाती है।

    टिप्पणी छोड़ें