Prompt dei comandi come utente SYSTEM (Windows 7)


10

Come posso ottenere un prompt dei comandi come utente SYSTEM su Windows 7?

Contesto: sto testando uno script di avvio del computer e ho bisogno di capire il comportamento di un comando quando eseguito come SISTEMA anziché il mio account utente.

Ho visto modi per farlo con ate psexec, ma quei metodi sembrano funzionare solo su Windows XP o Windows Vista.

Sto usando Windows 7 Pro SP1.


1
SYSTEM è generalmente il servizio utente gestito, non un account interattivo ...
Austin T Francese

1
Forse sto fraintendendo qualcosa. Ecco l'obiettivo: ho uno script che ho intenzione di distribuire alla nostra organizzazione tramite Criteri di gruppo. Anche se lo script dovrebbe funzionare, non lo è.
stephenwade,

1
Lo script verrà eseguito come script di avvio del computer, che a mio avviso funziona come SISTEMA; quindi voglio un prompt dei comandi come SYSTEM per testare il mio script. Sono corretto che gli script di avvio vengano eseguiti come SYSTEM? In tal caso, qual è il modo migliore per testare la mia sceneggiatura?
stephenwade,

1
Uno script di avvio del computer in Criteri di gruppo.
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… ఠ_

Risposte:


3

Questo è stato chiesto su Stack Overflow . La risposta accettata utilizza PsExec (dalla suite Systinternals ) come suggerito da Scott.

Un'altra soluzione prevede la creazione di un servizio eseguito con l'account di sistema per eseguire l'interprete dei comandi. È possibile farlo manualmente o utilizzare un programma che crea i servizi, esegue il prompt, quindi elimina automaticamente il servizio. L'ho appena provato e ha funzionato a meraviglia:

Schermata di Task Manager con CMD in esecuzione come Sistema


9

Usa PsExec dalla suite Systinternals di Microsoft . PsExec deve essere eseguito da un prompt dei comandi amministrativo. Utilizzare le -i -sopzioni per avviare lo script / il prompt dei comandi.

Inserisci qui la descrizione dell'immagine


1
Anche nel prompt dei comandi dell'amministratore, ricevo il messaggio " Access is denied."
stephenwade,

@stephenwade Come si ottiene il prompt dei comandi dell'amministratore, si fa clic con il pulsante destro del mouse e si esegue "Esegui come amministratore"? Dice "Amministratore: Prompt dei comandi" nel riquadro quando hai la finestra aperta prima di avviare PsExec? Inoltre, stai tentando di puntarlo su un file di rete da eseguire, il token per connettersi alla condivisione remota viene perso durante il processo di elevazione.
Scott Chamberlain,

Sì, ho fatto clic con il pulsante destro del mouse su Prompt dei comandi nel menu Start e ho fatto clic su "Esegui come amministratore".
Stephenwade,

1
Sto eseguendo psexec da una cartella di rete collegata all'unità H :. Potrebbe essere questo il problema?
Stephenwade,

1
@stephenwade sì, quando elimini perdi le tue unità di rete (perché sono legate all'account utente e stai cambiando gli account utente), copia locale e funzionerà.
Scott Chamberlain,

1

Starei molto attento a farlo. SYSTEM è l'account Administrator ma molto, molto più pericoloso in quanto ha un livello di accesso più elevato.

In genere, il SISTEMA è rappresentato dai servizi account gestiti, non da un profilo interattivo. Ci sono modi per farlo però.

Leggendo questo, penso che abbiamo un buon approccio:

  1. Controlla il nome dell'account a cui hai effettuato l'accesso (fai clic su Start.
    Vedrai il nome dell'account a cui hai effettuato l'accesso).
  2. Avvia il prompt dei comandi. (Avvia | Esegui | cmd | [Invio])
    nel prompt dei comandi, creare una pianificazione per eseguire cmd.exe.
    Per creare un programma, digitare la seguente riga e premere invio.
    alle 10:41 / interattivo "cmd.exe"
    questo creerà una pianificazione per eseguire cmd.exe alle 10:41.
    (Dato che stai testando, controlla l'ora nel tuo sistema prova ad aggiungere due o tre minuti.) Cambia questa ora in base all'ora locale
    Suggerimento: puoi verificare se il programma è inserito digitando " at "
    e premendo invio dopo quanto sopra passo.
  3. Attendere il tempo impostato per il programma.
    cmd.exe verrebbe avviato all'ora specificata.
  4. Dopo che cmd.exe è stato avviato entro l'orario programmato, premere [CTRL] + [ALT] + [DEL] e avviare il task manager.
    Selezionare la scheda "Processo", selezionare explorer.exe nell'elenco dei processi e fare clic sul pulsante " Termina processo ".
    Riceverai un dialogo di conferma. Fai clic su "Sì" per terminare il processo.
  5. Chiudi il task manager facendo clic sul pulsante Chiudi (X).
    Chiudi la prima finestra cmd (fai attenzione a chiudere la prima non la seconda).
  6. Ora hai solo la seconda finestra del prompt dei comandi e un desktop vuoto.
    Nel prompt dei comandi digitare la seguente riga e premere "Invio"
    cd ..
  7. Al prompt dei comandi digitare la seguente riga e premere "Invio"
    explorer.exe
    Se è la prima volta che lo si fa, Windows crea i
    componenti necessari per accedere al sistema (desktop, menu di avvio,
    Documento personale)
    al termine, si avrà un nuovo desktop.
  8. Chiudi la finestra del prompt dei comandi. Fai clic su Start e controlla il tuo nome utente.
    È stato modificato in Sistema.
    Ora sei un utente superpotente. Fai attenzione a non danneggiare il tuo PC ed elimina o modifica i file di sistema se non sai cosa stai facendo.

L'altra opzione sarebbe quella di eseguire lo script come servizio.


2
atnon funziona in Windows 7.
stephenwade,

1
atfunziona sul mio computer con Windows 7. Cosa non funziona per te?
uSlackr

3
Ecco un altro modo (più veloce?) Per terminare il processo di esplorazione in Windows 7: fare clic su Start. Spostare il mouse sul lato destro del menu (dove sono "Esegui" e "Disconnetti"). (Ctrl) + (Maiusc) + (clic destro); fai clic su "Esci da Explorer".
Scott,

2
C: \ Windows \ system32> alle 23:56 / interattivo "cmd.exe" Avviso: a causa di miglioramenti della sicurezza, questa attività verrà eseguita al momento previsto ma non in modo interattivo. Utilizzare l'utilità schtasks.exe se è richiesta un'attività interattiva ('schtasks /?' Per i dettagli). Aggiunto un nuovo lavoro con ID lavoro = 1 blogs.technet.com/b/askds/archive/2008/10/22/…
Dagelf

1

Esiste anche un approccio un po 'più cauto a questo, che implica sostanzialmente la sostituzione di cmd.exe al posto di Utilman.exe in \ Windows \ System32 (che ovviamente richiederebbe un backup). Dovresti farlo prima di Windows attualmente in esecuzione (ad es. In Linux o tramite un CD di installazione / ripristino). Ecco uno script di esempio da utilizzare (tramite Windows):

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

Dopo averlo fatto, avvia Windows normale e premi Windows Key + U e invece di visualizzare un set di utilità per aiutare con l'accessibilità, ecc., Visualizza un prompt dei comandi a livello di sistema con tutti gli strumenti disponibili del tuo sistema .


Inoltre è possibile farlo all'interno di Windows, senza dischi, anche senza riavviarlo. Basta andare su System32, aprire le proprietà di UtilMan.exe, prendere tutti i privilegi e la proprietà e procedere come segue.
Jet,

Questo è utile se non riesci ad accedere a un sistema e accedi alla schermata di accesso
Vitas
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.