Odblokuj stację roboczą Windows programowo


Chciałbym napisać małą aplikację, która odblokowuje stację roboczą. Podanie specyfikacji tego, czego potrzebuję, jest bardzo proste: istnieje exe, który działa i o określonej godzinie (powiedzmy o północy) odblokowuje stację roboczą.
Oczywiście aplikacja zna użytkownika i hasło do zalogowanego konta.
Wiem o LogonUser API i próbowałem go użyć, ale nie udało mi się.
Czy ktoś ma rozwiązanie, fragment kodu, który faktycznie działa dla tego problemu?
Celuję w systemy operacyjne NT5.
Cóż, odkąd ludzie zaczęli pytać, jaki jest powód: pracuję nad aplikacją do udostępniania pulpitu i chcę dodać funkcję odblokowania stacji roboczej. Posiadanie bardzo małej i prostej aplikacji do odblokowania stacji w określonym czasie jest konieczne, aby wyodrębnić problem i uniknąć szczegółów integracji.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tylko po to, żebyś miał odpowiedź na to pytanie, a nie ludzie zostawiali odpowiedzi, które mogłyby być lepsze w postaci komentarzy.
Jest to na pewno możliwe, chociaż, jak wiele osób już powiedziało, nie jest do końca rozsądne, co się stanie, jeśli ktoś przejdzie obok komputera, kiedy się odblokuje, jak długo będzie musiał grać itp.
W każdym razie, oprócz oferowania usługi do wykonywania dowolnej pracy na komputerze, a nawet zdalnego łączenia się z komputerem w celu wykonania pracy, możesz podać użytkownikowi następujące informacje. (jeśli chodzi o 'code excerts', możesz to zrobić sam)
http://www.paralint.com/projects/aucun/
http://www.paralint.com/projects/aucun/
to implementacja GINA, która może przyznać Ci prawa logowania, nawet jeśli ktoś inny jest już zalogowany. Spójrz na to, może to być to, czego szukasz i jest o wiele bezpieczniejsze niż odblokowanie stacji roboczej w określonym czasie.
Alternatywnie, rozważ napisanie własnej implementacji GINA, która zostanie odblokowana w zaplanowanym czasie.
Informacje o GINA
http://msdn.microsoft.com/en-g ... .aspx
http://msdn.microsoft.com/en-g ... .aspx
http://msdn.microsoft.com/en-u ... .aspx
http://msdn.microsoft.com/en-u ... .aspx
Po odblokowaniu pulpitu jestem prawie pewien, że zechcesz go ponownie zablokować.
http://www.codeproject.com/with Win32/AntonioWinLock.ASP
http://www.codeproject.com/win ... k.asp
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dodam tylko kolejny wniosek (nie oceniam),

autoit
http://www.autoitscript.com/autoit3/
(Windows Scripting Language) może mieć odpowiedź opisaną w tym wątku:
Jak odblokować pulpit Xp
http://www.autoitscript.com/fo ... eaded
I właśnie znalazłem inny

scenariusz, w którym możliwe byłoby odblokowanie pulpitu
http://www.bauer-power.net/200 ... .html
;)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W mojej sytuacji potrzebowałem możliwości przywrócenia sesji konsoli po rozłączeniu sesji terminala (łączę się z kioskiem WinXPe z ekranem dotykowym, ale bez klawiatury).
Oto rozwiązanie wiersza poleceń, które znalazłem, że działa. Zamiast zamykać okno sesji w celu rozłączenia, uruchamiam plik wsadowy z następującym wierszem. Moja sesja jest zamknięta, a moja sesja konsoli jest odblokowana.
  • automatyczne odblokowanie stacji roboczej po sesji terminalowej w WinXP
    tscon.exe 0/dest:console
  • w systemie Windows Vista/7 numer sesji konsoli zmienił się z 0 na 1, więc musisz użyć
    tscon.exe 1/dest:console

Link do źródła:

http://arstechnica.com/civis/v ... 69113
http://arstechnica.com/civis/v ... 69113
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Pozwól aplikacji działać jako usługa, wtedy nie potrzebujesz użytkownika/hasła, ponieważ jest skonfigurowany wraz z usługą.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się