के रूप में xp_cmdshell कमांड निष्पादित करें I नेटवर्क ड्राइव को माउंट करने के लिए xp_cmdshell (TSQL प्रक्रिया) चलाने के लिए और फिर mdb फ़ाइलों को रिमोट करने के लिए चलाएं।विशिष्ट उपयोगकर्ता
मैं एमएस एसक्यूएल सर्वर पर व्यवस्थापक हूं और मैंने xp_cmdshell निष्पादन के अनुसार निष्पादन की अनुमति दी है।
जब मैं xp_cmdshell फोन उपयोगकर्ता कमांड को क्रियान्वित एसक्यूएल sysadmin, यानी वह खाता जो SQL सर्वर प्रक्रिया को चलाने है:
हालांकि, अभी भी एक समस्या है।
मैं xp_cmdshell खाता, जिसके साथ मैं एसक्यूएल सर्वर से कनेक्ट हूं रूप में कार्यान्वित चाहते हैं, यानी प्रशासक
अर्थात खाता व्यवस्थापक समूह, SQLAdmin समूह में हैं, और प्रदान किए जाते हैं सर्वर को नियंत्रित करने के लिए। दोनों उपयोगकर्ता एक ही डोमेन से संबंधित हैं। यह सब एक ही मशीन पर चलाया जाता है।
क्योंकि इस संघर्ष की, मैं एक नेटवर्क ड्राइव, क्योंकि यह प्रशासक
के लिए sysadmin और नहीं के लिए रखा जाता है का उपयोग नहीं कर रहा उपयोग करने के लिए sp_ xp_ cmdshell_ proxy_ खाता खाता, जिसके साथ मैं चाहता हूँ निर्दिष्ट करने के लिए करने की कोशिश की xp_cmdshell चलाने के लिए, लेकिन SysAdmin अभी भी उपयोग किया गया खाता है।
इसलिए, इस कोड:
select user_name(), suser_name;
exec xp_cmdshell 'echo %username%';
प्रदर्शित करता है:
Administrator Administrator
SysAdmin
किसी को भी जानता है करता है कितनी अच्छी तरह प्रतिरूपित करने के लिए आदेश xp_cmdshell? क्या कुछ (पुनः) कॉन्फ़िगर करने के लिए कुछ है?
आपकी मदद के लिए धन्यवाद।
प्रॉक्सी खाते में केवल प्रयोग किया जाता है जब नॉन- sysadmin उपयोगकर्ता xp_cmdshell निष्पादित –
तो कैसे मैं एक विशिष्ट सिस्टम प्रशासक उपयोगकर्ता मजबूर कर सकते हैं? – Antwan
बस स्पष्ट करने के लिए - आपने उस खाते को सेट करने के लिए sp_xp_cmd_shell_proxy_account का उपयोग किया है जिसका उपयोग आप करना चाहते हैं, और फिर xp_cmdshell का उपयोग करके कमांड निष्पादित किया है, और उपयोग किया गया खाता अभी भी सेवा खाता है? मैं बस यह सुनिश्चित करना चाहता हूं कि मैं आपके कदमों को समझूं। – SqlRyan