आप स्थानीय सिस्टम खाते के तहत CMD.exe कैसे चलाते हैं?


144

मैं वर्तमान में विस्टा चला रहा हूं और मैं अपनी विंडोज सेवा के समान संचालन को मैन्युअल रूप से पूरा करना चाहूंगा। चूंकि Windows सेवा स्थानीय सिस्टम खाते के अंतर्गत चल रही है, मैं इसी व्यवहार का अनुकरण करना चाहूंगा। मूल रूप से, मैं स्थानीय प्रणाली खाते के तहत CMD.EXE चलाना चाहूंगा।

मुझे ऑनलाइन जानकारी मिली, जो डॉस टास्क शेड्यूलर एटी कमांड का उपयोग करते हुए CMD.exe की सराहना करने का सुझाव देती है, लेकिन मुझे एक विस्टा चेतावनी मिली कि "सुरक्षा संवर्द्धन के कारण, यह कार्य उस समय तक चलेगा जब तक कि अंतःक्रियात्मक रूप से नहीं। यहां एक नमूना आदेश दिया गया है:

AT 12:00 /interactive cmd.exe

एक अन्य समाधान ने सेवा नियंत्रण (sc.exe) के माध्यम से एक माध्यमिक विंडोज सेवा बनाने का सुझाव दिया जो केवल CMD.exe लॉन्च करता है।

C:\sc create RunCMDAsLSA binpath= "cmd" type=own type=interact
C:\sc start RunCMDAsLSA

इस स्थिति में सेवा शुरू करने में विफल रहती है और इसका परिणाम निम्न त्रुटि संदेश के रूप में होता है:

FAILED 1053: The service did not respond to the start or control request in a timely fashion.

तीसरा सुझाव अनुसूचित कार्य के माध्यम से CMD.exe लॉन्च करने का था। यद्यपि आप विभिन्न खातों के तहत अनुसूचित कार्य चला सकते हैं, मेरा मानना ​​है कि स्थानीय प्रणाली खाता उनमें से एक है।

मैंने रूनास का उपयोग करने की कोशिश की है, लेकिन मुझे लगता है कि मैं एक ही प्रतिबंध में चल रहा हूं जैसा कि एक निर्धारित कार्य चलाने के दौरान पाया गया है।

इस प्रकार, मेरी प्रत्येक कोशिश विफलता में समाप्त हो गई। कोई सुझाव?

जवाबों:


221

हालाँकि, मैंने व्यक्तिगत रूप से परीक्षण नहीं किया है, मेरे पास यह मानने का अच्छा कारण है कि ऊपर कहा गया AT COMMAND समाधान XP, 2000 और सर्वर 2003 के लिए काम करेगा। मेरे और ब्रायंट के परीक्षण के अनुसार, हमने पहचान लिया है कि एक ही दृष्टिकोण विस्टा के साथ काम नहीं करता है या विंडोज सर्वर 2008 - सबसे अधिक जोड़ा सुरक्षा के कारण और / इंटरैक्टिव स्विच को पदावनत किया जा रहा है।

हालाँकि, मुझे यह लेख आया जो SysInternals से PSTools के उपयोग को प्रदर्शित करता है (जो जुलाई, 2006 में Microsoft द्वारा अधिगृहीत किया गया था।) मैंने निम्न के माध्यम से कमांड लाइन शुरू की और अचानक मैं जादू की तरह स्थानीय व्यवस्थापक खाते के तहत चल रहा था:

psexec -i -s cmd.exe

PSTools अच्छी तरह से काम करता है। यह उपकरण का एक हल्का, अच्छी तरह से प्रलेखित सेट है जो मेरी समस्या का उचित समाधान प्रदान करता है।

मदद की पेशकश करने वालों को बहुत धन्यवाद।


11
मुझे ऐड के साथ यह बेहतर -dलगता है, ताकि मैं उस कंसोल का उपयोग करना जारी रख सकूं जिसे मैंने इसे लॉन्च किया था।
सामब जूल

1
मैं सिर्फ विस्टा x64 पर कोशिश की और "PsExec सेवा चालू ... एक असंगत संस्करण है।" \\ live.sysinternals.com \ tools \ psexec और नवीनतम बाइनरी से सीधे कोशिश की। प्रतीत नहीं होता है x64 संस्करण
ZXX

52
  1. Pysec.exe को Sysinternals से डाउनलोड करें
  2. इसे अपने C: \ ड्राइव में रखें।
  3. एक मानक या व्यवस्थापक उपयोगकर्ता के रूप में लॉगऑन करें और निम्न कमांड का उपयोग करें cd \:। यह आपको आपके ड्राइव के रूट डायरेक्टरी में रखता है, जहां psexec स्थित है।
  4. निम्नलिखित कमांड का उपयोग करें: psexec -i -s cmd.exeजहां -आई इंटरएक्टिव के लिए है और -s सिस्टम अकाउंट के लिए है।
  5. जब आदेश पूरा हो जाता है, तो एक cmd शेल लॉन्च किया जाएगा। प्रकार whoami; इसे कहेंगे 'सिस्टम'
  6. ओपन टास्कमैन। मार डालो एक्सप्लोरर।
  7. एक उन्नत कमांड शेल प्रकार से start explorer.exe
  8. जब एक्सप्लोरर को लॉन्च मेनू बार "सिस्टम" नाम से नोटिस किया जाता है। अब आप system32 डायरेक्टरी में कुछ फाइल्स को डिलीट कर सकते हैं जो कि एडमिन के रूप में आप डिलीट नहीं कर सकते हैं या ऐडमिन के तौर पर आपको उन फाइल्स को डिलीट करने के लिए परमिशन बदलने की पुरजोर कोशिश करनी होगी।

जो उपयोगकर्ता खिड़कियों की किसी भी संरक्षित निर्देशिका में सिस्टम फ़ाइलों का नाम बदलने या डिलीट करने का प्रयास करते हैं, उन्हें पता होना चाहिए कि सभी विंडोज़ फाइलें डीएसीएलएस द्वारा संरक्षित हैं एक फ़ाइल का नाम बदलने के दौरान आपको मालिक को बदलना होगा और ट्रस्टेडइनस्टैलर को बदलना होगा जो फ़ाइल का मालिक है और किसी भी उपयोगकर्ता की तरह बना सकता है फ़ाइल के स्वामी के रूप में व्यवस्थापक समूह से संबंधित है, तो अनुमति बदलने के बाद इसे नाम बदलने का प्रयास करें, यह काम करेगा और जब आप कर्नेल निजीकरण के साथ विंडोज़ एक्सप्लोरर चला रहे हैं तो आप सुरक्षा कारणों से नेटवर्क एक्सेस के संदर्भ में कुछ सीमित हैं और यह अभी भी एक शोध विषय है मेरे लिए वापस पहुँच पाने के लिए


मैं इस तरकीब का उपयोग करता हूं, खोजकर्ता को अक्सर उन्नत उपयोगकर्ता के रूप में शुरू करने के लिए। विशेष रूप से, जब वीएनसी के माध्यम से एक पीसी से कनेक्ट होता है, जहां नेटवर्क सेटिंग्स सेट करने की आवश्यकता होती है, उदाहरण के लिए। +1 मुझसे
TPAKTOPA

यह ट्रिक अब अमान्य लगती है। मेरा OS विंडोज 7 SP1 है। मैं स्टार्ट मेनू बार में "सिस्टम" देखने के रूप में दूर चला गया हूं। लेकिन फिर भी जब एक फाइल को system32 फोल्डर में रीनेम करते हैं, तो वह कहती है अनुमति अस्वीकृत। System32 फ़ोल्डर अब TrustedInstaller के स्वामित्व में है, और यहां तक ​​कि स्थानीय सिस्टम खाते में केवल विशेष अनुमतियां हैं।
शोहुआ ली

यदि आप किसी भी संरक्षित विंडोज़ निर्देशिका में किसी भी फ़ाइल का नाम बदलने या हटाने का प्रयास करते हैं, जो कि TrustedInstaller के स्वामित्व में है, तो आपको वर्तमान उपयोगकर्ता को अनुमति बदलकर फ़ाइल का स्वामी होना होगा, फिर आप इसे बदल सकते हैं या इसे डिलीट कर सकते हैं, इसका उपयोग अक्सर स्लीमग्रेट को डिलीट करने के लिए किया जाता है। exe और अन्य सिस्टम फ़ाइलों को इसके लिए भुगतान के बिना खिड़कियों के निशान संस्करण के लिए असीमित पहुँच प्राप्त करने
रैवेन

10

यहाँ एक उत्तर मिला जो बिनपैथ पैरामीटर में प्रारंभ / k को जोड़कर समस्या को हल करने के लिए लगता है। ताकि आप दे देंगे:

sc create testsvc binpath= "cmd /K start" type= own type= interact

हालाँकि, बेन ने कहा कि उसके लिए काम नहीं किया और जब मैंने इसे विंडोज सर्वर 2008 पर आजमाया तो इसने स्थानीय प्रणाली के तहत cmd.exe प्रक्रिया तैयार की, लेकिन यह इंटरैक्टिव नहीं था (मैं विंडो नहीं देख सका)।

मुझे नहीं लगता कि आप जो पूछते हैं, उसे करने का एक आसान तरीका है, लेकिन मैं सोच रहा हूं कि आप ऐसा क्यों कर रहे हैं? क्या आप केवल यह देखने की कोशिश कर रहे हैं कि जब आप अपनी सेवा चलाते हैं तो क्या हो रहा है? लगता है जैसे आप स्थानीय प्रणाली के रूप में exe चलाने के लिए क्या हो रहा है यह निर्धारित करने के लिए लॉगिंग का उपयोग कर सकते हैं ...


हाय ब्रायंट। यह समाधान अनिवार्य रूप से प्रश्न में उल्लिखित है। क्या यह वास्तव में आपके लिए काम करता है? यह मेरे लिए एक विफलता के परिणामस्वरूप है। धन्यवाद।
बेन ग्रिसवॉल्ड

ब्रायंट, मेरे पास एक सेवा है जो किसी अन्य घटक की स्थापना और स्थापना रद्द करती है। मैं हमारे सहायता समूह को "जबरदस्ती" घटक को अनइंस्टॉल करने का एक आसान तरीका देना चाहता हूं यदि मेरी सेवा अपना काम करने में विफल रहती है। परीक्षण करते समय, मैं अनइंस्टॉल के साथ-साथ "बल" देने में सक्षम होना चाहूंगा। मदद के लिए Thx ..
बेन ग्रिसवॉल्ड

1
@Ben: क्या आपके पास "इंटरएक्टिव सर्विसेज़ डिटेक्शन" स्टार्ट टाइप "मैनुअल" या "डिसेबल्ड" सेट है?
हैलो Dec१

1
सर्वर 2012 के लिए इंटरेक्टिव सेवाओं की अनुमति देने के लिए, HKLM\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices
इवान चाऊ


6

मैं आपको न्यूनतम अनुमति सेट पर काम करने की सलाह दूंगा जो आपकी सेवा को वास्तव में ज़रूरत है और इसका उपयोग करें, बजाय कि स्थानीय विशेषाधिकार के संदर्भ में। उदाहरण के लिए, स्थानीय सेवा

सत्र 0 अलगाव के कारण विंडोज विस्टा और विंडोज सर्वर 2008 पर इंटरएक्टिव सेवाएं अब काम नहीं करती हैं या कम से कम, यूआई नहीं दिखाती हैं ।


4
माइक, प्रतिक्रिया के लिए धन्यवाद। हालाँकि मैं आपकी सिफारिश से सहमत हूँ और मुझे लगता है कि हर कोई आपके उत्तर से लाभान्वित होगा, मुझे विश्वास नहीं है कि आपने प्रश्न का उत्तर दिया है।
बेन ग्रिसवॉल्ड 19

@ बीन ग्रिसवॉल्ड: हालांकि, वह बताते हैं कि यह वही है जो विस्टा में पुराने तरीके को विफल करता है। +1।
समबुल

1
सवाल यह है कि "आप लोकल सिस्टम अकाउंट के तहत CMD.exe कैसे चलाते हैं?"
जैको प्रीटोरियस

2
@SamB, और यह कि क्या टिप्पणियां हैं, जब आपके पास योगदान करने के लिए कुछ होता है जो वास्तव में उत्तर नहीं है
Synetech

6

के cmd.exeरूप में चलाने के लिए सुरक्षित डेस्कटॉप का उपयोग करनाsystem

हम CMDडिबगर संलग्न करके विंडोज एक्सपी / विस्टा / 7 / 8.1 में आसानी से कर्नेल पहुंच प्राप्त कर सकते हैं :

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe" /v Debugger /t REG_SZ /d "C:\windows\system32\cmd.exe"
  1. CMDप्रशासक के रूप में चलाएं

  2. फिर एलिवेटेड में इस कमांड का उपयोग करें:

     CMD REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe" /v Debugger /t REG_SZ /d "C:\windows\system32\cmd.exe"
    
  3. फिर osk(ऑनस्क्रीनकीबोर्ड) चलाएं । यदि आप प्रक्रिया एक्सप्लोरर के माध्यम से जांच करते हैं, तो यह अभी भी सिस्टम इंटिग्रिटी स्तर के साथ नहीं चलता है, लेकिन यदि आप सेवा सत्र में ओएसके का उपयोग कर सकते हैं, तो यह निम्नानुसार होगाNT Authority\SYSTEM

इसलिए मुझे पता था कि आपको इसे सिक्योर डेस्कटॉप पर चलाना होगा।

किसी भी फाइल को प्रशासक के रूप में शुरू करें। जब यूएसी संकेत देता है, तो बस Win+ दबाएं Uऔर शुरू करें OSKऔर इसके CMDबजाय शुरू होगा। फिर उन्नत प्रॉम्प्ट में, टाइप करें whoamiऔर आपको मिलेगा NT Authority\System। उसके बाद, आप सिस्टम कमांड शेल से एक्सप्लोरर शुरू कर सकते हैं और सिस्टम प्रोफाइल का उपयोग कर सकते हैं, लेकिन आप कुछ हद तक सीमित हैं जो आप सुरक्षा कारणों से सिस्टम विशेषाधिकारों के माध्यम से नेटवर्क पर कर सकते हैं। मैं बाद में और स्पष्टीकरण जोड़ूंगा क्योंकि मैंने एक साल पहले इसकी खोज की थी।

यह कैसे होता है इसका संक्षिप्त विवरण

Cmd.exeउपयोग किए बिना स्थानीय सिस्टम खाते के तहत चल रहा हैPsExec। यह विधि डिबगर ट्रैप तकनीक को चलाती है जिसे पहले खोजा गया था, अच्छी तरह से इस तकनीक के अपने फायदे हैं इसका उपयोग डिबगर में कुछ चालाक / दुर्भावनापूर्ण कृमि या मैलवेयर को फंसाने के लिए किया जा सकता है और फैल या नुकसान को रोकने के लिए इसके बजाय कुछ अन्य exe चला सकते हैं। यहाँ यह रजिस्ट्री कुंजी ट्रैप ऑनस्क्रीन कीबोर्ड देशी देशी डिबगर में ऑन करती है और इसके बजाय cmd.exe चलाता है, लेकिन cmd अभी भी लॉग ऑन करेगा उपयोगकर्ता विशेषाधिकारों के साथ, हालांकि अगर हम cmd को सेशन में चलाते हैं तो हम सिस्टम शेल प्राप्त कर सकते हैं। इसलिए हम यहां एक और विचार जोड़ते हैं कि हम cmd को सुरक्षित डेस्कटॉप पर फैलाते हैं, याद रखें कि सेशन सिस्टम के तहत सेशन 0 में सुरक्षित डेस्कटॉप रन हैं और हमें सिस्टम शेल मिलता है। इसलिए जब भी आप कुछ भी ऊंचा उठाते हैं, तो आपको अंधेरे, गैर संवादात्मक डेस्कटॉप पर यूएसी प्रॉम्प्ट और यूएसी संकेत का जवाब देना होगा और एक बार जब आप इसे देखते हैं तो आपको Win+ दबाना होगा Uऔर फिर चयन करना होगाOSKआप CMD.exeस्थानीय सिस्टम विशेषाधिकारों के तहत चलेंगे। स्थानीय प्रणाली तक पहुँचने के और भी तरीके हैंCMD


फिर वहाँ NT अधिकार विशेषाधिकार के साथ ऊंचा के रूप में cmd चलाने के लिए और भी अधिक तरीके हैं
रैवेन

यह बहुत अच्छा है। बहुत अच्छा। मुझे कुछ करने के लिए तीसरे पक्ष के ऐड-ऑन पर भरोसा करने से नफरत है। यह सुपर क्विक और आसान है। स्थायी भी :-) केवल मुद्दा यह है कि आपको UAC विंडो में सभी कमांड को चलाना है और केवल कुछ एप्लिकेशन खुले हैं। Explorer.exe उदाहरण के लिए नहीं खुलता है। अगर इसे ट्रिगर करने का कोई और तरीका है तो मैं प्रयोग करना चाहता हूं। मैं UAC के बिना देशी विंडोज़ वातावरण में अन्य एप्लिकेशन चलाने में सक्षम होना चाहता हूं ताकि कुछ ऐप्स को सीमित किया जा सके। महान सामान रेवेन!
कोनाइन

3

इसका एक विकल्प प्रोसेस हैकर है, यदि आप इस रूप में चलते हैं ... (इंटरएक्टिव doesn't सुरक्षा सुरक्षा संवर्द्धन वाले लोगों के लिए काम करता है, लेकिन अभ्यस्त मामला) और जब बॉक्स खुलता है तो बॉक्स प्रकार में सेवा डालते हैं और सिस्टम को उपयोगकर्ता बॉक्स में डालते हैं और सी डालते हैं। : \ Users \ Windows \ system32 \ cmd.exe बाकी पर क्लिक करें ठीक पर क्लिक करें और आपको उस पर cmd के साथ एक विंडो मिल गई है और सिस्टम के रूप में चलाएं अब अपने लिए अन्य चरण करें क्योंकि IM आपको उन्हें जानने का सुझाव दे रहा है


2

एक और तरीका है। एक कार्यक्रम है जिसे पावररून कहा जाता है जो एलिवेटेड सेमीड को चलाने की अनुमति देता है। यहां तक ​​कि TrustedInstaller अधिकारों के साथ। यह दोनों कंसोल और GUI कमांड के लिए अनुमति देता है।


1

यदि आप एक बैच फ़ाइल लिख सकते हैं, जिसे इंटरैक्टिव होने की आवश्यकता नहीं है, तो उस बैच फ़ाइल को एक सेवा के रूप में चलाने की कोशिश करें, जो करने की आवश्यकता है।


0

मैं का उपयोग RunAsTi उपयोगिता के रूप में चलाने के लिए TrustedInstaller (उच्च विशेषाधिकार)। उपयोगिता को विंडोज के रिकवरी मोड में भी उपयोग किया जा सकता है (जिस मोड को आप कर कर Shift+ दर्ज करते हैं Restart), psexec उपयोगिता वहां काम नहीं करती है। लेकिन आप अपने जोड़ने की जरूरत है C:\Windowsऔर C:\Windows\System32नहीं है ( X:\Windowsऔर X:\Windows\System32करने के लिए) पथ PATHअन्यथा वातावरण चर, RunAsTi पुनर्प्राप्ति मोड में काम नहीं करेगा, यह सिर्फ प्रिंट होगा: SeImpersonateName के लिए AdjustTokenPrivileges: सभी विशेषाधिकारों या समूहों संदर्भित फोन करने वाले को सौंपा जाता है


0

कार्य शेड्यूलर का उपयोग करते हुए, सिस्टम के तहत चल रहे CMDKEY का एक रन शेड्यूल करें: / add: / user: और /: के उपयुक्त तर्कों के साथ।

कुछ भी स्थापित करने की आवश्यकता नहीं है।

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