Tự động đăng nhập Windows XP / Win-7 bằng tệp Batch (hoặc VB Script) được lưu trữ trong Ổ đĩa bút USB tiêu chuẩn


10

Tại sao tôi cần điều này :

Tôi có Pen Drive đầy đủ các tập lệnh và các công cụ chẩn đoán khác. Tôi có 75 máy tính độc lập (Không nối mạng) chủ yếu với Win-XP-Pro SP-2, trong 2 Phòng thí nghiệm. Tôi thường cần phải đăng nhập mỗi PC bằng tài khoản quản trị để cấu hình hoặc chẩn đoán một cái gì đó.

Vì vậy, khi tôi khởi động PC, mỗi lần tôi phải chọn thủ công tên người dùng từ màn hình đăng nhập và nhập mật khẩu của nó.

Bây giờ tôi muốn Đăng nhập vào Admin Acc. Tự động (lập trình) nếu ổ đĩa bút của tôi được kết nối với PC.

Những gì tôi biết:

Tôi biết có thể chạy ScScript (Batch Files) trước khi người dùng đăng nhập vào XP / Win7. Tôi đã viết một tập tin bó và lưu vào PC cục bộ. Tôi đã cấu hình nó trong chính sách nhóm để chạy nó khi khởi động hệ thống (Vị trí GPO: Cấu hình máy tính \ Cài đặt Windows \ Tập lệnh (Khởi động / Tắt máy) \ Sartup ). Tệp bó này phát hiện thành công 'nếu ổ đĩa bút được kết nối hay không.

Tôi có một tệp bó khác (hiện đang trống) được lưu trữ trên Pen Drive.

Tệp bó thứ nhất tìm kiếm tất cả các ổ đĩa từ C đến Z cho tệp bó thứ 2 (login.bat) bằng cách sử dụng một vòng lặp, nếu tệp có mặt, nó giả sử ổ đĩa bút có mặt và tiếp tục gọi tệp bó thứ 2 (login.bat) để tiếp tục.

Những gì tôi không biết:

Bây giờ tôi không biết đâu là mã của tệp login.bat hoặc tôi không biết 'cách đăng nhập thực tế.

Các lựa chọn thay thế khác trong tâm trí là gì:

Không nhất thiết chỉ sử dụng một tệp bó. Tôi cũng có thể xem xét 'nếu bạn có bất kỳ tùy chọn nào khác để đăng nhập tự động như sử dụng VB Scripthoặc bất kỳ phần thứ 3 nào khác có thể thực thi được',

Biên tập:

Theo câu hỏi này Đặt người dùng để đăng nhập tự động trên windows thông qua tập lệnh bó Tôi có thể tạo tập lệnh để sửa đổi mục đăng ký và cho phép đăng nhập tự động. Mặc dù điều này hoạt động, bạn phải khởi động lại PC để thay đổi được áp dụng. Đó là điều tôi muốn tránh. Phải mất nhiều thời gian hơn để chạy tập lệnh và khởi động lại thay vì chỉ đăng nhập cá nhân.

Tôi muốn có thể đăng nhập tự động, theo yêu cầu. Điều này có nghĩa là một khi tôi kết nối Pen Drive, tập lệnh sẽ có thể đăng nhập tôi, trong tài khoản quản trị mà không cần khởi động lại PC.

Tôi đọc trên web có thể đạt được bằng cách tạo tệp dINA GINA, nhưng tôi không có kinh nghiệm về lĩnh vực đó. Bất kỳ ý tưởng làm thế nào điều này có thể được thực hiện?



@ DA - Làm thế nào bạn có thể nói nó trùng lặp với "Đặt người dùng để đăng nhập tự động ...".? Bạn đã đọc giải thích đầy đủ của câu hỏi? Và bạn có biết ý nghĩa của việc "Đặt người dùng cho Tự động đăng nhập. Đây không phải là bản sao của một người được chỉ định. Tôi không muốn Đặt người dùng để đăng nhập tự động mỗi lần bật PC. Điều này sẽ kích hoạt người dùng tự động đăng nhập bất kể Pen Drive có được đính kèm hay không. Tôi cần một tệp bó hoặc tệp vbscript để bắt đầu đăng nhập 'Chỉ khi ổ đĩa bút của tôi được gắn vào PC. Đọc kỹ câu hỏi đầy đủ.
Ajaib Singh

@DA Thưa ông, tôi cẩn thận đọc câu trả lời được chỉ định. Ngay cả internet là đầy đủ với hướng dẫn này. Thứ nhất 'nó không kiểm tra sự hiện diện của Pen Drive để cho phép Tự động đăng nhập. Thứ 2 'Khi bạn tô sáng tùy chọn "Đặt số lần đăng nhập". Nó không phù hợp với tôi. Hãy để tôi giải thích tại sao. Tôi chỉ có 2 giá trị có thể được gán cho "Đặt số lần đăng nhập". 1 là 1 và 2 là 'lớn hơn một'
Ajaib Singh

Nếu tôi đặt nó là 1: Nó sẽ chỉ cho phép tự động đăng nhập một lần. Vào những lần khởi nghiệp tiếp theo, tôi phải nhập tên người dùng và mật khẩu. Nếu tôi đặt nó lớn hơn 1 (Nói 10), nó sẽ tự động đăng nhập số lần chỉ định. Bây giờ cho đến khi hết số lần chỉ định đã hết hạn, mọi người dùng sẽ được đăng nhập vào tài khoản quản trị theo mặc định. Mà tôi không muốn. Yêu cầu của tôi là: "Cho phép số lần đăng nhập vô hạn" miễn là ổ đĩa bút của tôi được kết nối, không cho phép tự động đăng nhập.
Ajaib Singh

2
Câu hỏi: (1) Bạn chỉ có một lần đăng nhập cho tất cả các máy tính có cùng người dùng / mật khẩu? (2) Bạn có thể cài đặt một giải pháp phần mềm (nếu nó tồn tại) trên tất cả các máy tính không? (3) Bạn có trả tiền cho một sản phẩm thương mại không?
harrymc

Câu trả lời:


2

Có thể đăng nhập theo chương trình vào Windows, nhưng không phải với một tệp bó đơn giản. Thay vào đó, bạn cần xây dựng một DLL bằng C ++ (hoặc có thể là C # - nhưng nó không được khuyến khích ). Trong Windows XP (và trước đó), cơ sở này được gọi là GINA .
(Bắt đầu từ Vista, bạn cần xây dựng Nhà cung cấp tin cậy.)

Tham khảo: Đăng nhập vào windows xp theo chương trình


Xin chào wp78de "; Tôi đã giải quyết vấn đề của mình với VB Script. Chỉ cần gửi Khóa trên màn hình đăng nhập và tài khoản quản trị viên của tôi đã đăng nhập. Cảm ơn câu trả lời.
Ajaib Singh

1

Tôi vô tình tìm thấy giải pháp một mình. Như đã đề cập trong câu hỏi tôi có 2 tập lệnh: 1st cư trú trong máy tính cục bộ và thứ 2 cư trú trong Pen Drive. 1st (.bat) được cấu hình sẵn để chạy khi khởi động hệ thống ( Xem cách gán tập lệnh khởi động máy tính? ) Và nó gọi 2nd (.vbs) nếu ổ đĩa bút được kết nối.

Làm thế nào nó hoạt động:

Hoạt động của tệp 1 đã được mô tả trong Câu hỏi; và làm việc với kịch bản thứ 2 rất đơn giản nhưng đáp ứng nhu cầu của tôi. Kịch bản lệnh này chỉ gửi các nét chính trên màn hình đăng nhập theo trình tự giống như tôi gõ trên bàn phím để Đăng nhập. Ở đây tôi muốn chia sẻ toàn bộ mã của cả hai tập lệnh. Hy vọng điều này sẽ giúp nhiều người như tôi, những người không muốn can thiệp vào các tệp hệ điều hành nội bộ như GINA.

Mã này là:

Tập lệnh thứ nhất (Tập lệnh đăng nhập)

Tên: "Find PD.bat"

Vị trí:

"%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

Kịch bản thứ 2:

Tên: "FillCred.vbs"

Vị trí:

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

Mã số:

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

Nhớ lại:

1) Điều này chỉ được thử nghiệm trên Windows XP.

2) Điều này sẽ chỉ hoạt động nếu Windows của bạn hiển thị màn hình đăng nhập mặc định (còn gọi là 'Màn hình chào mừng')

3) Bạn phải sửa đổi tập lệnh thứ 2 cho các chuỗi chính của mình .

4) Điều này sẽ không hoạt động nếu hệ thống của bạn yêu cầu nhấn Ctrl + Alt + Delete trước khi đăng nhập.

5) Đây là giải pháp rất cơ bản, nhưng bạn có thể nâng cao nó bằng cách chỉnh sửa Tập lệnh thứ 2. điều này sẽ hoạt động miễn là hệ thống của bạn cho phép các nét chính trên màn hình đăng nhập.

Cảm ơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.