Windows 7 Home: jak skonfigurować skrypt logowania

8

W systemie Windows 7 Professional można kliknąć prawym przyciskiem myszy użytkownika w Zarządzanie komputerem „s Użytkownicy i grupy lokalne , aby ustawić skrypt logowania na profilu karcie. Niestety, Windows 7 Home Premium nie ma (nie wydaje się) lokalnych użytkowników i grup w zarządzaniu komputerem . Jak skonfigurować skrypt logowania w systemie Windows 7 Home Premium.?

Mike L.
źródło
1
Czy w systemie autonomicznym konfiguracja skryptu logowania ma przewagę nad umieszczeniem go w folderze Autostart?
grawity
2
Zaletą jest to, że skrypt zostanie załadowany bardzo wcześnie, np. Przed uruchomieniem innych aplikacji. Jest to bardzo przydatne do montowania zaszyfrowanych partycji.
Mike L.

Odpowiedzi:

9

Masz rację, ta przystawka MMC jest wyłączona, chyba że masz co najmniej system Windows 7 (lub Vista) Professional.

Powinieneś być w stanie skonfigurować właściwości użytkownika za pomocą polecenia net user :

net user UserName /scriptpath:logon.bat

Lokalizacja skryptu:

Lokalne skrypty logowania muszą być przechowywane w folderze udostępnionym - lub podfolderach folderu udostępnionego - o nazwie Netlogon. Jeśli ten folder nie istnieje domyślnie, musisz go utworzyć. Aby określić skrypt logowania przechowywany w podfolderze folderu Netlogon, poprzedź nazwę pliku względną ścieżką do tego folderu. Na przykład, aby przypisać skrypt logowania Startup.bat przechowywany w \ ComputerName \ Netlogon \ FolderName użytkownikowi lokalnemu, w typie skryptu logowania FolderName \ Startup.bat

Siim K.
źródło
Gdzie znajduje się katalog „\ ComputerName \ Netlogon \ FolderName”?
Mike L.
1
@mklhmnn: Gdziekolwiek chcesz. Podany przykład dotyczy domeny, w której jeden serwer zawiera wszystkie skrypty; kontrolery domeny mają udział \\servername\Netlogonw tym celu. Jeśli podasz ścieżkę względną, będzie ona poszukiwana w Netlogonudziale kontrolera domeny . (Zachowanie nieznane w przypadku samodzielnych systemów.) Możesz jednak podać ścieżkę bezwzględną, np C:\WINDOWS\Misc\logon.cmd.
grawity
1
Gdziekolwiek chcesz - na przykład utwórz folder c: \ logon i udostępnij go jako Netlogon.
Siim K
1
@grawity using /scriptpath:pathNie można użyć ścieżki bezwzględnej.
Hanan N.
7

Podsumowanie tego, co zrobiłem, aby rozwiązać ten problem:

  • Utworzyłem skrypt C:\Windows\System32\repl\import\scripts\<username>.bat
  • przywołany net user <username> /scriptpath:<username>.bat

Ponieważ system Windows 7 Home nie czekać, aż ten skrypt został zakończony i nadal załadować inne aplikacje, Musiałem także utworzyć DWORDwpis o nazwie RunLogonScriptSyncco HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonw rejestrze, określającego wartość 1.

Mike L.
źródło
1
Czy istnieje sposób na odwrócenie tego polecenia? Innymi słowy, wyłączyć skrypt przypisany do profilu użytkownika?
Radical924,
3

Zaakceptowana odpowiedź to sposób, aby to zrobić, jeśli chcesz, aby skrypt działał wcześnie podczas uruchamiania systemu lub potrzebujesz, aby skrypt był uruchamiany synchronicznie - to znaczy, normalny proces logowania będzie kontynuowany dopiero po zakończeniu skryptu (uważaj, to może spowolnić logowanie, używaj go tylko wtedy, gdy jest to potrzebne).

Uwaga: Nie jestem pewien, czy wymienione wyżej skrypty mogą być .exeplikami, czy nie, ale w metodzie opiszę dowolny plik wykonywalny.

Innym sposobem, który ma dodatkową elastyczność, jest użycie Task Scheduler. W menu Start wpisz Harmonogram zadań i uruchom go (lub uruchom taskschd.mscz Runokna dialogowego lub powłoki). Wybierz Task Scheduler Libraryw widoku drzewa. Jeśli chcesz, możesz utworzyć specjalny podfolder dla swoich programów, ale nie jest to konieczne. Kliknij Create Basic Task...(kreator) lub Create Task...w Actionspanelu po prawej stronie.

Wyjaśnię, jak używać Create Task....

  • Na Generalkarcie wpisz opisową nazwę i opcjonalnie opis swojego zadania.
  • Na Triggerskarcie kliknij New..., ustaw Begin the taskna At log on. Sprawdź Specific usercombobox, upewnij się, że nazwa użytkownika jest wybrana (możesz użyć, Any userjeśli chcesz, aby program działał, gdy zaloguje się dowolny użytkownik). Jeśli nie chcesz, aby skrypt spowalniał proces logowania, możesz uruchomić go z opóźnieniem - kliknij Delay task forpole wyboru i wpisz czas (np 30 seconds.). Kliknij ok, aby utworzyć wyzwalacz.
  • Na Actionskarcie kliknij New..., wybierz swój program (lub skrypt), używając Browse...lub wpisz pełną ścieżkę do Program\program. Jeśli program znajduje się w% Path%, możesz po prostu użyć program. Możesz podać dowolne argumenty do przekazania do programu Add arguments. Możesz określić katalog roboczy dla programu w Start in. Możesz użyć dowolnego typu skryptu obsługiwanego przez komputer lokalny; jeśli typ skryptu nie jest zarejestrowany w systemie Windows, nadal można go uruchomić, określając interpreter skryptów jako program. Np. Użyj C:\path\to\python.exejako programu i C:\path\to\script.py some_argumentsjako argumentów. Kliknij ok, aby utworzyć akcję.
  • Na Conditionskarcie prawdopodobnie chcesz odznaczyć opcję Start the task only if the computer is on AC power.
  • W Settingszakładce nie trzeba niczego zmieniać.

Kliknij ok, aby utworzyć zaplanowane zadanie. Jeśli chcesz go później edytować, po prostu wybierz Task Scheduler Libraryw widoku drzewa, znajdź swoje zadanie na liście (w górnej części okna) i kliknij dwukrotnie zadanie.

Aby uzyskać więcej informacji, zobacz odwołanie do Harmonogramu zadań .

Gene Pawłowski
źródło
2

Korzystam z Win 7 Premium Home w samodzielnym systemie i chciałem uruchomić skrypt logowania, aby zamontować zaszyfrowany wolumin. Przeszukiwanie sieci dało tylko skomplikowane wyniki (gpedit, aktualizacja rejestru). Moje rozwiązanie jest bardzo proste: utworzyłem na C: folder (o dowolnej nazwie) i umieściłem w nim mój skrypt. Ten folder musi być współdzielony z nazwą udziału „Netlogon” Działa! Przynajmniej w moim systemie lokalnym.

Mossautal
źródło
1

Wystąpił błąd systemowy 5.

Odmowa dostępu.

Jeśli pojawi się taki błąd podczas uruchamiania polecenia net user , upewnij się, że uruchomiłeś CMD jako adminisitrator (kliknij prawym przyciskiem myszy i wybierz „Uruchom jako administrator”)!

Ivan Kellenberger
źródło
1

Możesz także po prostu utworzyć zadanie za pomocą harmonogramu zadań i ustawić wyzwalacz, aby uruchamiał skrypt podczas logowania.

swiftninja21
źródło
2
Ta odpowiedź może zostać ulepszona poprzez włączenie procedur i kroków związanych z konfiguracją skryptu do uruchamiania w harmonogramie zadań.
Will.Beninger
1

Nadal używasz interfejsu użytkownika do konfigurowania skryptu logowania w systemie Windows 7

Otwórz, "Control Panel" -> "User Accounts" -> "User Accounts" -> "Manage User Accounts" -> "Advanced" -> "Advanced"aby uzyskać dostęp do przystawki MMC „Lokalni użytkownicy i grupy (lokalne)”.

lub po prostu uruchom z powłoki cmd: mmc.exe %SystemRoot%\system32\lusrmgr.msc computername=localmachine

Ntropy Bezimienny
źródło