ลงชื่อเข้าใช้ Windows XP / Win-7 อัตโนมัติโดยใช้ Batch File (หรือ VB Script) ที่เก็บไว้ใน USB Pen Drive มาตรฐาน


10

ทำไมฉันต้องการสิ่งนี้ :

ฉันมี Pen Drive ที่เต็มไปด้วยสะเก็ดแบตช์และเครื่องมือวินิจฉัยอื่น ๆ ฉันมีพีซีแบบสแตนด์อโลน (ไม่ใช่เครือข่าย) 75 เครื่องส่วนใหญ่ใช้ Win-XP-Pro SP-2 ใน 2 Labs ฉันต้องลงชื่อเข้าใช้พีซีแต่ละเครื่องด้วยบัญชีผู้ดูแลระบบเพื่อกำหนดค่าหรือวินิจฉัยบางสิ่ง

ดังนั้นเมื่อฉันเริ่มพีซีทุกครั้งที่ฉันต้องเลือกชื่อผู้ใช้ด้วยตนเองจากหน้าจอเข้าสู่ระบบและพิมพ์รหัสผ่าน

ตอนนี้ฉันต้องการเข้าสู่ระบบเพื่อจัดการบัญชี โดยอัตโนมัติ (โดยทางโปรแกรม) หากไดรฟ์ปากกาของฉันเชื่อมต่อกับพีซี

สิ่งที่ฉันรู้:

ฉันรู้ว่ามันเป็นไปได้ที่จะเรียกใช้สคริปต์ (ไฟล์ชุด) ก่อนที่ผู้ใช้เข้าสู่ระบบใน XP / Win7 ฉันเขียนไฟล์แบตช์และบันทึกลงในพีซีในเครื่อง ฉันกำหนดค่าไว้ในนโยบายกลุ่มเพื่อเรียกใช้เมื่อเริ่มต้นระบบ (ตำแหน่ง GPO: Settings \ Scripts คอมพิวเตอร์ Configuration \ Windows (Startup / Shutdown) \ Sartup ) ไฟล์แบตช์นี้ตรวจพบได้สำเร็จ 'หากไดรฟ์ปากกาเชื่อมต่ออยู่หรือไม่

ฉันมีไฟล์แบตช์อื่น (ปัจจุบันว่าง) เก็บไว้ใน Pen Drive

ไฟล์แบตช์แรกค้นหาไดรฟ์ทั้งหมดจาก C ถึง Z เพื่อหาไฟล์แบตช์ลำดับที่สอง (login.bat) โดยใช้ลูปหากไฟล์นั้นมีอยู่จะถือว่าไดรฟ์ปากกามีอยู่และเรียกไฟล์แบตช์ลำดับที่สอง (login.bat) เพิ่มเติมเพื่อดำเนินการต่อไป

สิ่งที่ฉันไม่รู้:

ตอนนี้ฉันไม่รู้ว่าควรเป็นรหัสของไฟล์ login.bat หรือไม่รู้วิธีเข้าสู่ระบบในทางปฏิบัติ

อะไรคือทางเลือกอื่น ๆ ในใจ:

ไม่จำเป็นต้องใช้ไฟล์แบตช์เท่านั้น ฉันยังสามารถพิจารณา 'ถ้าคุณมีตัวเลือกอื่น ๆ สำหรับการเข้าสู่ระบบอัตโนมัติเช่นการใช้VB Scriptหรืออื่น ๆ ส่วนที่ 3 ปฏิบัติการ'

แก้ไข:

ตามคำถามนี้ตั้งผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติบน windows ผ่านชุดสคริปต์ฉันสามารถสร้างสคริปต์เพื่อแก้ไขรายการรีจิสทรีและอนุญาตให้เข้าสู่ระบบอัตโนมัติ แม้ว่าจะใช้งานได้ แต่คุณต้องรีบูตเครื่องพีซีเพื่อให้การเปลี่ยนแปลงมีผล ฉันต้องการหลีกเลี่ยงสิ่งใด ใช้เวลานานกว่าในการเรียกใช้สคริปต์และเริ่มระบบใหม่กว่าเพียงลงชื่อเข้าใช้เป็นการส่วนตัว

ฉันต้องการที่จะเข้าสู่ระบบโดยอัตโนมัติตามความต้องการ ซึ่งหมายความว่าเมื่อฉันเชื่อมต่อ Pen Drive ของฉันสคริปต์ควรจะสามารถเข้าสู่ระบบได้ในบัญชีผู้ดูแลระบบโดยไม่ต้องบูตเครื่องคอมพิวเตอร์ใหม่

ฉันอ่านเว็บได้ด้วยการสร้างไฟล์ GINA dll แต่ฉันไม่มีประสบการณ์ในสาขานั้น ความคิดใด ๆ ที่สามารถนำไปปฏิบัติได้



@ DA- คุณพูดได้อย่างไรว่าเป็น "การตั้งค่าผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติ ... " คุณอ่านคำอธิบายที่สมบูรณ์ของคำถามหรือไม่ และคุณรู้หรือไม่ว่า "การตั้งค่าผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติ" นั้นไม่เหมือนกันกับที่คุณระบุฉันไม่ต้องการตั้งผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติทุกครั้งที่เปิดเครื่องพีซี ผู้ใช้เข้าสู่ระบบโดยอัตโนมัติโดยไม่คำนึงถึงการเชื่อมต่อไดรฟ์ปากกาหรือไม่ฉันต้องการแบทช์ไฟล์หรือไฟล์ vbscript เพื่อเริ่มต้นเข้าสู่ระบบ 'เฉพาะเมื่อไดรฟ์ปากกาของฉันติดอยู่กับพีซีอ่านคำถามทั้งหมดอย่างรอบคอบ
Ajaib Singh

@DA Sir i อ่านคำตอบที่ระบุอย่างละเอียด แม้แต่อินเทอร์เน็ตก็ยังเต็มไปด้วยบทช่วยสอนนี้ วันที่ 1 'มันไม่ตรวจสอบสถานะของ Pen Drive เพื่ออนุญาตการลงชื่อเข้าใช้อัตโนมัติ 2nd 'ตามที่คุณไฮไลต์ตัวเลือก "ตั้งค่ากี่ครั้งที่ควรเข้าสู่ระบบ" มันไม่เหมาะสำหรับฉัน ให้ฉันอธิบายว่าทำไม ฉันมีค่าที่เป็นไปได้ 2 ค่าเท่านั้นที่สามารถกำหนดให้ "ตั้งค่าจำนวนครั้งที่ควรเข้าสู่ระบบ" ที่ 1 คือ 1 และที่ 2 คือ 'มากกว่าหนึ่ง'
Ajaib Singh

หากฉันตั้งค่าเป็น 1: จะอนุญาตให้เข้าสู่ระบบอัตโนมัติเพียงครั้งเดียวเท่านั้น ในการเริ่มต้นครั้งถัดไป 'ฉันต้องป้อนชื่อผู้ใช้และรหัสผ่าน หากฉันตั้งค่าไว้มากกว่า 1 (พูด 10) มันจะเข้าสู่ระบบอัตโนมัติตามจำนวนที่ระบุ ตอนนี้จนกว่าจำนวนครั้งที่ระบุจะหมดอายุ 'ผู้ใช้ทุกคนจะได้รับการเข้าสู่ระบบบัญชีผู้ดูแลระบบโดยค่าเริ่มต้น ซึ่งฉันไม่ต้องการ ความต้องการของฉันคือ: "อนุญาตการเข้าสู่ระบบไม่ จำกัด จำนวน" ตราบใดที่ไดรฟ์ปากกาของฉันเชื่อมต่ออยู่จะไม่อนุญาตให้ลงชื่อเข้าใช้อัตโนมัติ
Ajaib Singh

2
คำถาม: (1) คุณมีการเข้าสู่ระบบเพียงครั้งเดียวสำหรับคอมพิวเตอร์ทุกเครื่องที่มีชื่อผู้ใช้ / รหัสผ่านเดียวกันหรือไม่? (2) คุณสามารถติดตั้งโซลูชันซอฟต์แวร์ (ถ้ามี) ในคอมพิวเตอร์ทุกเครื่องได้หรือไม่ (3) คุณจะจ่ายสำหรับผลิตภัณฑ์เชิงพาณิชย์หรือไม่
harrymc

คำตอบ:


2

เป็นไปได้ที่จะเข้าสู่ระบบโดยทางโปรแกรมไปยัง Windows แต่ไม่มีไฟล์แบตช์ธรรมดา แต่คุณต้องสร้าง DLL โดยใช้ C ++ (หรืออาจจะเป็น C # - แต่ไม่แนะนำให้ทำ ) ใน Windows XP (และก่อนหน้านี้), สถานที่นี้จะเรียกว่าจีน่า
(เริ่มต้นจาก Vista คุณต้องสร้างผู้ให้บริการข้อมูลประจำตัว)

อ้างอิง: เข้าสู่ระบบ windows xp โดยทางโปรแกรม


สวัสดี wp78de "; ฉันได้แก้ไขปัญหาของฉันด้วย VB Script แล้วซึ่งเพิ่งส่งคีย์บนหน้าจอเข้าสู่ระบบและบัญชีผู้ดูแลระบบของฉันได้รับการเข้าสู่ระบบขอบคุณสำหรับคำตอบ
Ajaib Singh

1

ฉันบังเอิญพบวิธีแก้ปัญหาด้วยตัวเอง ตามที่กล่าวถึงในคำถามฉันมี 2 สคริปต์: อันดับที่ 1 อยู่ในเครื่องคอมพิวเตอร์และที่ 2 อยู่ใน Pen Drive 1st (.bat) ได้รับการกำหนดค่าล่วงหน้าให้ทำงานในการเริ่มต้นระบบ ( ดูวิธีการกำหนดสคริปต์เริ่มต้นระบบคอมพิวเตอร์ ) และจะเรียกใช้ 2nd (.vbs) หากเชื่อมต่อไดรฟ์ปากกา

มันทำงานอย่างไร:

การทำงานของไฟล์ที่ 1 มีการอธิบายไว้ในคำถามแล้ว และการทำงานของสคริปต์ที่ 2 นั้นง่ายมาก แต่ตอบสนองความต้องการของฉัน สคริปต์นี้เพิ่งส่งการกดปุ่มบนหน้าจอเข้าสู่ระบบในลำดับเดียวกับที่ฉันพิมพ์บนแป้นพิมพ์สำหรับการเข้าสู่ระบบ ที่นี่ฉันต้องการแบ่งปันรหัสทั้งหมดของสคริปต์ทั้งสอง หวังว่ามันจะช่วยได้มากเหมือนฉันที่ไม่ต้องการเข้าไปยุ่งเกี่ยวกับไฟล์ระบบปฏิบัติการภายในเช่น GINA

รหัสคือ:

สคริปต์ที่ 1 (สคริปต์การเข้าสู่ระบบ)

ชื่อ: "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

สคริปต์ที่ 2:

ชื่อ: "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) นี่คือการทดสอบบน windows XP เท่านั้น

2) สิ่งนี้จะใช้งานได้หาก Windows ของคุณแสดงหน้าจอเข้าสู่ระบบเริ่มต้น (aka 'หน้าจอต้อนรับ')

3) คุณต้องแก้ไขสคริปต์ลำดับที่2 สำหรับลำดับคีย์ของคุณ

4) สิ่งนี้จะไม่ทำงานหากระบบของคุณต้องการกด Ctrl + Alt + Delete ก่อนเข้าสู่ระบบ

5) นี่เป็นวิธีการแก้ปัญหาขั้นพื้นฐานมาก แต่คุณอาจทำให้ขั้นสูงโดยการแก้ไขสคริปต์ที่ 2 สิ่งนี้จะทำงานได้ตราบใดที่ระบบของคุณอนุญาตให้กดปุ่มบนหน้าจอเข้าสู่ระบบ

ขอบคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.