Mam kilka skryptów, które chciałbym uruchomić za każdym razem, gdy użytkownik się wyloguje. Chciałbym stworzyć coś, co programowo skonfiguruje skrypty wylogowania. Na przykład plik exe lub cmd, który można wykonać w celu dodania skryptu wylogowania do listy skryptów wylogowania wykonywanej przez system Windows. Z tego powodu preferowana byłaby funkcja API Windows lub polecenie powłoki systemu Windows, ale nie mogę znaleźć takich funkcji ani poleceń, które by mu w tym pomogły.Dodawanie skryptu wylogowania
Sprawdziłem zmiany w rejestrze wprowadzone przez edytor strategii lokalnej grupy, gdy używa się go do dodania skryptu wylogowania do zasad grupy, ale robi to wiele rzeczy, których nie jestem pewien, czy mogę naśladować. Na przykład powoduje wiele zmian w rejestrze i wykorzystuje kody numeryczne w niektórych kluczach rejestru oraz dane binarne w niektórych wartościach. Nie wiedziałbym, jakie wartości reprezentują.
Próbowałem podzbiorów zmian, które robi GPEdit w nadziei, że nadal będzie działać. Na przykład wyeksportowałem zmiany wprowadzone w HKCU \ Software \ Policies \ Microsoft \ Windows \ System \ Scripts \ Logoff i zaimportowałem je na innym komputerze, ale to nie zadziałało, a GPEdit MMC nie zdawała sobie sprawy, że nawet zrobiłem zmiana.
Jak już powiedziałem, zestaw funkcji Windows API lub polecenie powłoki systemu Windows byłby lepszy, jeśli ktoś wie o niektórych, które mogą pomóc, ale jeśli ktoś wie, sposób dekodowania sterty informacji, które GPEdit robi w sposób że mógłbym z niego kpić, a nie jestem przeciwny wprowadzaniu zmian w rejestrze, o ile są stabilne.
Niezależnie od tego, jakie rozwiązanie znajdę i będę używać, musi być w stanie być automatyczny i niezawodny, ponieważ będzie on zdalnie wykonywany na wielu komputerach z dodatkiem Psexec, a także zostanie włączony do zautomatyzowanych procesów konfiguracji dla przyszłych komputerów, które są Ustawiać.
Niestety, wydaje się, że jest to trudny temat dla Google, ponieważ wiele innych rzeczy, które ludzie próbują zrobić, ma wiele takich samych słów kluczowych, o które pytam, ale które w rzeczywistości nie są tym samym tematem. Na przykład przechwytywanie/odczytywanie haków do uruchamiania aplikacji lub zdalne wylogowywanie użytkowników.
Jeśli ktoś jest kreatorem rejestru systemu Windows lub MMC i uważa, że zobaczenie zrzutu zmian w rejestrze, które robi GPEdit MMC, gdy robi to samo, byłoby pomocne, po prostu powiedz to, a udostępnię to, ponieważ już to przechwyciłem. Wątpię, że to jest właściwa droga, ale zacząłem się zastanawiać, w jaki sposób tworzyć przystawki MMC; myślę, że być może przystawka GPEdit może zostać poddana inżynierii wstecznej, dzięki czemu mogę dokładnie zobaczyć, co robi w prosty sposób. Nie dzieje się to jednak szybko, ponieważ żaden z plików .adm, które widzę, nie wydaje się mieć odpowiednich ustawień, a plik gpedit.msc nie zawiera niczego, co mogłoby go rozdać w części tekstowej, chociaż to sekcja, która wydaje się bełkotliwa, więc może jest tam jakaś magia.
Dlaczego nie utworzyć procesu, który jest autostartowany, więc zostanie wyłączony po wylogowaniu. Możesz złożyć na nim wszystko po wylogowaniu. – TheBlastOne
@TheBlastOne Co masz na myśli? Masz na myśli utworzenie skryptu logowania, który po prostu siedzi bezczynnie na zawsze, działając w kontekście aktualnie zalogowanego użytkownika, aby został zakończony przy wylogowaniu i miał funkcję wyjścia, która dzieje się po main()? To ciekawy pomysł, jeśli o to ci chodzi. Czy wymuszone wylogowanie (takie jak shutdown -l -f) nadal czeka na zakończenie procesu (i robi normalny skrypt wylogowania systemu Windows, o to chodzi, teraz, gdy o tym myślę, choć zakładam, że tak)? Może zrobię kilka testów. – Loduwijk
Cóż, niekoniecznie skrypt logowania, ponieważ to nie jest dokładnie lekki :) i musiałby być ukryty przed biurkiem ... Myślałem o aplikacji bez GUI, która jest częścią grupy autostart (lub zaczęła się od użytkownika zaloguj się za pomocą dowolnego z innych haków autostartu, które zapewnia Windows). Że można spać na zawsze i wywołać wszystko, co chcesz po zakończeniu. Ponieważ jest to "aplikacja", tylko bez GUI, będzie obsługiwana jak każda inna aplikacja po wyłączeniu, włącznie z zabijaniem po wymuszonym zamknięciu itd.). – TheBlastOne