Wiersz polecenia jako użytkownik SYSTEM (Windows 7)

10

Jak mogę uzyskać wiersz polecenia jako użytkownik SYSTEM w systemie Windows 7?

Kontekst: Testuję skrypt uruchamiania komputera i muszę dowiedzieć się, jak działa polecenie uruchamiane jako SYSTEM, a nie konto użytkownika.

Widziałem sposoby na to za pomocą ati psexec, ale te metody wydają się działać tylko w systemie Windows XP lub Windows Vista.

Używam Windows 7 Pro SP1.

stephenwade
źródło
1
SYSTEM to generalnie usługi użytkownika, a nie konto interaktywne ...
Austin T Francuski
1
Może coś nie rozumiem. Oto cel: mam skrypt, który planuję wdrożyć w naszej organizacji za pośrednictwem zasad grupy. Mimo że skrypt powinien działać, tak nie jest.
stephenwade
1
Skrypt będzie działał jako skrypt uruchamiania komputera, który moim zdaniem działa jako SYSTEM; dlatego chcę, aby wiersz polecenia jako SYSTEM przetestował mój skrypt. Czy mam rację, że skrypty startowe działają jako SYSTEM? Jeśli tak, jaki jest najlepszy sposób testowania mojego skryptu?
stephenwade
1
Skrypt uruchamiania komputera w zasadach grupy.
stephenwade
1
I've seen ways to do this with at and psexec, but those methods only appear to work on Windows XP or Windows 7. I'm using Windows 7 Pro SP1. Um… ఠ_ ಠ
Synetech

Odpowiedzi:

3

Zostało to zadane podczas przepełnienia stosu . W zaakceptowanej odpowiedzi użyto PsExec (z pakietu Systinternals ), jak sugerował Scott.

Inne rozwiązanie polega na utworzeniu usługi działającej na koncie System w celu uruchomienia interpretera poleceń. Możesz to zrobić ręcznie lub użyć programu, który tworzy usługi, uruchamia monit, a następnie automatycznie usuwa usługę. Właśnie spróbowałem i zadziałało:

Zrzut ekranu Menedżera zadań z CMD działającym jako System

Synetech
źródło
9

Użyj PsExec z pakietu Microsoft Systinternals . PsExec musi być uruchamiany z administracyjnego wiersza poleceń. Użyj -i -sprzełączników, aby uruchomić skrypt / wiersz polecenia.

Wpisz opis zdjęcia tutaj

Scott Chamberlain
źródło
1
Nawet w wierszu polecenia administratora otrzymuję komunikat „ Access is denied.
stephenwade
@stephenwade W jaki sposób otrzymujesz wiersz polecenia administratora, czy klikasz prawym przyciskiem myszy i wykonujesz polecenie „Uruchom jako administrator”? Czy na kafelku jest napisane „Administrator: Wiersz polecenia”, gdy okno jest otwarte przed uruchomieniem PsExec? Czy próbujesz także wskazać plik sieciowy do uruchomienia, token łączący się ze zdalnym udziałem zostanie utracony podczas procesu podnoszenia.
Scott Chamberlain,
Tak, kliknąłem prawym przyciskiem myszy Wiersz polecenia w menu Start i kliknąłem „Uruchom jako administrator”.
stephenwade
1
Używam psexec z folderu sieciowego połączonego z dyskiem H:. Czy to może być problem?
stephenwade
1
@stephenwade tak, kiedy podniesiesz poziom, stracisz dyski sieciowe (ponieważ są one powiązane z kontem użytkownika i zmieniasz konta użytkowników), skopiuj lokalnie i będzie działać.
Scott Chamberlain,
1

Byłbym bardzo ostrożny, robiąc to. SYSTEM jest kontem administratora, ale o wiele bardziej niebezpiecznym, ponieważ ma wyższy poziom dostępu.

Zasadniczo twój SYSTEM to usługi kont uruchomione, a nie profil interaktywny. Istnieją jednak sposoby, aby to zrobić.

Czytając to , myślę, że mamy dobre podejście:

  1. Sprawdź nazwę konta, na które się zalogowałeś (kliknij Start.
    Zobaczysz nazwę konta, na którym się zalogowałeś.)
  2. Uruchom wiersz polecenia. (Start | Uruchom | cmd | [Enter])
    w wierszu polecenia utwórz harmonogram uruchamiania cmd.exe.
    Aby utworzyć harmonogram, wpisz następujący wiersz i naciśnij klawisz Enter.
    o 10:41 / interaktywny „cmd.exe”
    spowoduje utworzenie harmonogramu uruchamiania cmd.exe o 10:41.
    (Ponieważ testujesz, sprawdź czas w swoim systemie, spróbuj dodać dwie lub trzy minuty.) Zmień ten czas zgodnie z czasem lokalnym
    Wskazówka: możesz sprawdzić, czy harmonogram jest umieszczony, wpisując „ at
    i naciskając Enter po powyższym krok.
  3. Poczekaj na czas ustawiony dla harmonogramu.
    Program cmd.exe zostanie uruchomiony o określonej godzinie.
  4. Po uruchomieniu cmd.exe o zaplanowanym czasie naciśnij [CTRL] + [ALT] + [DEL] i uruchom menedżera zadań.
    Wybierz kartę „Proces”, wybierz explorer.exe z listy procesów i kliknij przycisk „ Zakończ proces ”.
    Otrzymasz dialog z potwierdzeniem. Kliknij „Tak”, aby zakończyć proces.
  5. Zamknij menedżera zadań, klikając przycisk Zamknij (X).
    Zamknij pierwsze okno cmd (uważaj, aby zamknąć pierwsze, a nie drugie).
  6. Teraz masz tylko drugie okno wiersza polecenia i pusty pulpit.
    W wierszu polecenia wpisz następujący wiersz i naciśnij „Enter”
    cd.
  7. W wierszu polecenia wpisz następujący wiersz i naciśnij „Enter”
    explorer.exe.
    Jeśli robisz to po raz pierwszy, system Windows tworzy niezbędne
    komponenty, aby uzyskać dostęp do Systemu (Pulpit, menu Start,
    Mój dokument)
    po zakończeniu. nowy pulpit.
  8. Zamknij okno wiersza polecenia. Kliknij Start i sprawdź swoją nazwę użytkownika.
    Zmieniono na System.
    Teraz jesteś super-zaawansowanym użytkownikiem. Uważaj, aby nie uszkodzić komputera i nie usuwać ani nie modyfikować plików systemowych, jeśli nie wiesz, co robisz.

Inną opcją byłoby uruchomienie skryptu jako usługi.

Austin T French
źródło
2
atnie działa w systemie Windows 7.
stephenwade
1
atdziała na moim komputerze z systemem Windows 7. Co ci nie działa?
uSlackr
3
Oto kolejny (szybszy?) Sposób zakończenia procesu eksploratora w systemie Windows 7: Kliknij przycisk Start. Przesuń mysz na prawą stronę menu (gdzie znajdują się „Uruchom” i „Wyloguj”). (Ctrl) + (Shift) + (prawy przycisk myszy); kliknij „Exit Explorer”.
Scott,
2
C: \ Windows \ system32> o 23:56 / interaktywny „cmd.exe” Ostrzeżenie: Ze względu na ulepszenia bezpieczeństwa to zadanie będzie uruchamiane w oczekiwanym czasie, ale nie interaktywnie. Użyj narzędzia schtasks.exe, jeśli wymagane jest zadanie interaktywne („schtasks /?”, Aby poznać szczegóły). Dodano nową pracę o identyfikatorze pracy = 1 blogs.technet.com/b/askds/archive/2008/10/22/…
Dagelf
1

Istnieje również nieco bardziej hackerskie podejście, które polega w zasadzie na dodaniu cmd.exe zamiast Utilman.exe w \ Windows \ System32 (co oczywiście wymagałoby utworzenia kopii zapasowej). Trzeba to zrobić wcześniej poza aktualnie działającym systemem Windows (np. W systemie Linux lub za pomocą płyty instalacyjnej / odzyskiwania CD). Oto przykładowy skrypt do użycia (przez Windows):

cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall

Po wykonaniu tej czynności uruchom system Windows i naciśnij klawisz Windows + U, a zamiast przywoływać zestaw narzędzi ułatwiających dostęp itp., Wyświetla wiersz polecenia na poziomie systemu ze wszystkimi dostępnymi narzędziami systemu .

Isiah Meadows
źródło
Można to również zrobić w systemie Windows, bez dysków, nawet bez ponownego uruchamiania. Po prostu przejdź do System32, otwórz właściwości UtilMan.exe, weź wszystkie przywileje i własność i zrób to po nim.
Jet
Jest to przydatne, jeśli nie możesz zalogować się do systemu i przejść tylko do ekranu logowania
Vitas