एक मानक USB पेन ड्राइव में संग्रहीत बैच फ़ाइल (या वीबी स्क्रिप्ट) का उपयोग करके ऑटो-लॉगिन विंडोज एक्सपी / विन -7


10

मुझे इसकी आवश्यकता क्यों है :

मेरे पास बैच ड्राइव और अन्य नैदानिक ​​उपकरणों से भरा पेन ड्राइव है। मेरे पास 75 स्टैंड-अलोन (नॉट नेटवर्क्ड) पीसी हैं जो ज्यादातर विन-एक्सपी-प्रो एसपी -2 के साथ 2 लैब्स में हैं। मुझे अक्सर कुछ को कॉन्फ़िगर या निदान करने के लिए प्रत्येक पीसी को व्यवस्थापक खाते के साथ लॉगिन करने की आवश्यकता होती है।

इसलिए जब मैं एक पीसी शुरू करता हूं, तो हर बार मुझे मैन्युअल रूप से लॉग-इन स्क्रीन से उपयोगकर्ता नाम का चयन करना होगा और अपना पासवर्ड भी लिखना होगा।

अब मैं एडमिन ऐक् को लॉगिन करना चाहता हूँ। स्वचालित रूप से (प्रोग्रामेटिकली) यदि मेरा पेन ड्राइव पीसी से जुड़ा है।

क्या मुझे पता है:

मुझे पता है कि XP ​​/ Win7 में उपयोगकर्ता लॉगिन से पहले लिपियों (बैच फ़ाइलें) को चलाना संभव है। मैंने एक बैच फ़ाइल लिखी और स्थानीय पीसी पर सहेजा। मैंने इसे सिस्टम स्टार्टअप (GPO स्थान: कंप्यूटर कॉन्फ़िगरेशन \ Windows Settings \ Scripts (स्टार्टअप / शटडाउन) \ Sartup ) पर चलाने के लिए इसे समूह नीति में कॉन्फ़िगर किया है । पेन ड्राइव कनेक्ट है या नहीं, यह बैच फ़ाइल सफलतापूर्वक 'पता लगा रहा है।

मेरे पास पेन ड्राइव पर एक और बैच फ़ाइल (वर्तमान में रिक्त) संग्रहीत है।

1st बैच फ़ाइल लूप का उपयोग करके C से Z तक सभी ड्राइव्स को 2nd (login.bat) बैच फ़ाइल में खोजती है, यदि यह मौजूद है कि फ़ाइल पेन ड्राइव मौजूद है और आगे बढ़ने के लिए 2nd (login.bat) बैच फ़ाइल को कॉल करती है।

मैं क्या नहीं जानता:

अब मुझे नहीं पता है कि login.bat फ़ाइल का कोड क्या होना चाहिए या मुझे नहीं पता कि 'कैसे व्यावहारिक रूप से लॉगिन करें।

मन में अन्य विकल्प क्या हैं:

केवल बैच फ़ाइल का उपयोग करना आवश्यक नहीं है। मैं 'अगर आपके पास ऑटो लॉगइन के लिए कोई अन्य विकल्प है जैसे VB Scriptकिसी अन्य 3 भाग का निष्पादन योग्य है' पर भी विचार कर सकते हैं '

संपादित करें:

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

मैं मांग पर स्वचालित रूप से लॉग इन करने में सक्षम होना चाहूंगा। इसका मतलब यह है कि एक बार जब मैं अपने पेन ड्राइव को कनेक्ट करता हूं, तो स्क्रिप्ट को पीसी को रिबूट किए बिना मुझे एडमिन अकाउंट में लॉग इन करने में सक्षम होना चाहिए।

मैं वेब पर पढ़ता हूं इसे GINA dll फ़ाइल बनाकर प्राप्त किया जा सकता है, लेकिन मुझे उस क्षेत्र का कोई अनुभव नहीं है। किसी भी विचार यह कैसे लागू किया जा सकता है?



@ DA-आप यह कैसे कह सकते हैं कि "ऑटो लॉगऑन के लिए उपयोगकर्ता सेट करें" ...? क्या आपने प्रश्न का पूरा विवरण पढ़ा? और क्या आप जानते हैं कि "ऑटो लॉगिन के लिए किसी उपयोगकर्ता को सेट करना" से क्या मतलब है। यह आपके द्वारा निर्दिष्ट एक का डुप्लिकेट नहीं है। मैं पीसी पर प्रत्येक बार ऑटो लॉगिन के लिए उपयोगकर्ता को सेट नहीं करना चाहता हूं। यह सक्षम करेगा। पेन ड्राइव जुड़ी हुई है या नहीं, इसके लिए उपयोगकर्ता स्वचालित रूप से लॉगिन करें। मुझे लॉगिन शुरू करने के लिए एक बैच फ़ाइल या वेबस्क्रिप्ट फ़ाइल चाहिए। केवल तभी जब मेरा पेन ड्राइव पीसी से जुड़ा हो। पूरा प्रश्न ध्यान से पढ़ें।
अजायब सिंह

@DA सर मैंने निर्दिष्ट उत्तर को ध्यान से पढ़ा। यहां तक ​​कि इंटरनेट भी इस ट्यूटोरियल से भरा हुआ है। 1 'यह ऑटो-लॉग को सशर्त रूप से अनुमति देने के लिए पेन ड्राइव की उपस्थिति की जांच नहीं करता है। 2 'जैसा कि आपने "सेट करें कि इसे कितनी बार लॉग ऑन करना चाहिए" विकल्प पर प्रकाश डाला। यह मेरे लिए उपयुक्त नहीं है। मुझे क्यों समझाते हैं। मेरे पास केवल 2 संभावित मान हैं जिन्हें "कितनी बार इसे लॉग ऑन करना चाहिए" सेट किया जा सकता है। 1st 1 और 2nd 'एक से अधिक' है
अजायब सिंह

अगर मैं इसे 1 के रूप में सेट करता हूं: यह केवल एक बार ऑटो-लॉगिन की अनुमति देगा। अगले स्टार्ट-अप पर मुझे उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा। अगर मैं इसे अधिक सेट करता हूं तो 1 (10 कहो) यह कई बार निर्दिष्ट की गई ऑटो लॉगिन करेगा। अब जब तक निर्दिष्ट समय की अवधि समाप्त नहीं हो जाती है, तब तक हर उपयोगकर्ता डिफ़ॉल्ट रूप से व्यवस्थापक खाते में लॉग-इन करेगा। जो मुझे नहीं चाहिए। मेरी आवश्यकता यह है: "जब तक मेरी पेन ड्राइव कनेक्ट है तब तक लॉगिन की अनंत संख्या को अनुमति दें" ऑटो-लॉगिन की अनुमति न दें।
अजायब सिंह

2
प्रश्न: (1) क्या आपके पास एक ही उपयोगकर्ता / पासवर्ड वाले सभी कंप्यूटरों के लिए केवल एक लॉगऑन है? (२) क्या आप सभी कंप्यूटरों पर एक सॉफ्टवेयर समाधान (यदि यह मौजूद है) स्थापित कर सकते हैं? (३) क्या आप किसी व्यावसायिक उत्पाद के लिए भुगतान करेंगे?
harrymc

जवाबों:


2

विंडोज़ से प्रोग्रामेटिक रूप से लॉगिन करना संभव है, लेकिन एक साधारण बैच फ़ाइल के साथ नहीं। इसके बजाय आपको C ++ (या शायद C # - लेकिन यह अनुशंसित नहीं है ) का उपयोग करके DLL बनाने की आवश्यकता है । Windows XP (और उससे पहले) में, इस सुविधा को GINA कहा जाता है ।
(विस्टा से शुरू करके आपको एक क्रेडेंशियल प्रदाता बनाने की आवश्यकता है।)

संदर्भ: प्रोग्रामिक रूप से विंडोज़ में लॉगिन करें


हाय wp78de "; मैंने VB स्क्रिप्ट के साथ अपनी समस्या को हल कर लिया है। जो सिर्फ लॉगिन स्क्रीन पर कुंजी भेजते हैं, और मेरा व्यवस्थापक खाता लॉग इन हो जाता है। उत्तर के लिए धन्यवाद।
अजायब सिंह

1

मुझे गलती से इसका समाधान मिल गया। जैसा कि प्रश्न में उल्लेख किया गया है कि मेरे पास 2 स्क्रिप्ट हैं: 1 स्थानीय कंप्यूटर में रहता है और 2 पेन ड्राइव में रहता है। 1st (.bat) सिस्टम स्टार्टअप पर चलने के लिए पूर्व- निर्धारित है ( देखें कि कंप्यूटर स्टार्टअप स्क्रिप्ट कैसे असाइन करें? ) और पेन ड्राइव कनेक्ट होने पर इसे 2nd (.vbs) कॉल करता है।

यह काम किस प्रकार करता है:

पहली फ़ाइल का काम पहले से ही प्रश्न में वर्णित है; और दूसरी स्क्रिप्ट का काम बहुत सरल है लेकिन मेरी जरूरतों को पूरा करता है। यह स्क्रिप्ट लॉगिन की स्क्रीन पर उसी क्रम में कुंजी स्ट्रोक भेजती है जैसे मैं लॉगिन के लिए कीबोर्ड पर टाइप करता हूं। यहाँ मैं दोनों लिपियों के पूरे कोड को साझा करना चाहूंगा। आशा है कि यह मेरे जैसे कई लोगों की मदद करेगा, जो आंतरिक ऑपरेटिंग सिस्टम फ़ाइलों जैसे कि GINA के साथ हस्तक्षेप नहीं करना चाहते हैं।

कोड है:

पहली स्क्रिप्ट (लॉगऑन स्क्रिप्ट)

नाम: "Find PD.bat"

स्थान:

"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"

कोड

@ECHO OFF
SET vCount=1
set LogFl=%~d0%~p0%Find PD.log
echo Process Started...>"%LogFl%"

:RECHK
SET PD=
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
    IF EXIST "%%i:\OTHER\RESTORE\OTHER\FillCred.vbs" (
        SET PD=%%i
    )
)

:FOUND
echo:>>"%LogFl%"
IF /I DEFINED PD (
    echo %time% : Pen Drive Found with '%PD%' Drive Letter>>"%LogFl%"
    "%PD%:\OTHER\RESTORE\OTHER\FillCred.vbs"
) ELSE (
    IF %vCount% LSS 11 (
        set /a "vCount=vCount+1"
        echo %time% : Retry: %vCount% >>"%LogFl%"
        ping -n 2 -w 200  1.1.1.1>nul
        GOTO RECHK
    ) ELSE (
        echo %time% : Pen Drive Not Found. Exiting>>"%LogFl%"
        EXIT /b 1
    ) 
)
:EOF

दूसरी स्क्रिप्ट:

नाम: "FillCred.vbs"

स्थान:

"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"

कोड:

set WshShell = CreateObject("WScript.Shell")
WScript.sleep 1000
WshShell.SendKeys "{DOWN}"
WScript.sleep 50
WshShell.SendKeys "ReplaceThisWithYourPassword"
WScript.sleep 50
WshShell.SendKeys "{ENTER}"

याद है:

1) यह केवल विंडोज़ एक्सपी पर परीक्षण किया गया है।

2) यह तभी काम करेगा जब आपका विंडोज डिफॉल्ट लॉगऑन स्क्रीन (उर्फ 'वेलकम स्क्रीन') दिखाता है

3) आपको अपने मुख्य दृश्यों के लिए 2 स्क्रिप्ट को संशोधित करना होगा

4) यह काम नहीं करेगा यदि आपके सिस्टम को लॉगिन से पहले Ctrl + Alt + Delete दबाने की आवश्यकता है।

5) यह बहुत ही बुनियादी उपाय है, लेकिन आप इसे दूसरी स्क्रिप्ट को संपादित करके उन्नत बना सकते हैं। यह तब तक काम करेगा जब तक आप सिस्टम लॉगिन स्क्रीन पर कुंजी स्ट्रोक की अनुमति देता है।

धन्यवाद।

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