Il task manager funziona come amministratore di default su Windows 10?


29

Stavo cercando di chiudere un processo non reattivo e dopo la prima volta che ho fatto clic su "Termina processo", non è successo nulla. Così l'ho fatto di nuovo e questa volta è spuntata una finestra che diceva "Accesso negato". Alla fine il processo si è chiuso, ma questo mi ha fatto pensare ..

Se avessi eseguito il task manager come amministratore, mi avrebbe comunque dato questo messaggio "Accesso negato"? Oppure, in effetti, Windows 10 esegue Task Manager come amministratore per impostazione predefinita (quando l'account utente è un amministratore). Inoltre, c'è qualche differenza tra eseguirlo come amministratore o no ?

Eseguendolo come amministratore tramite questo metodo:

Non vedo differenze evidenti tra questo e solo fare Ctrl+ Shift+ Escape.

Nota: questa domanda è specifica per Windows 10 (e possibilmente 8 / 8.1) e sto eseguendo Pro. Inoltre, il mio UAC impostato su "Non avvisare mai".


Se UAC è disattivato e si utilizza l'account Administrator, ogni processo avviato viene eseguito con i privilegi di amministratore.
Alexey Ivanov,

@AlexeyIvanov Non credo sia vero. Forse alcuni, ma non tutti i processi e le applicazioni ...
Insane,

2
Hai ragione: è cambiato con Windows 8: il comportamento di Controllo dell'account utente per l'impostazione "Non avvisare" non disabilita più Controllo account utente. L'impostazione "Non avvisare" ti dà un token diviso e eleva sempre automaticamente il privilegio richiesto. ... È ancora possibile disabilitare UAC usando Criteri di gruppo o impostando manualmente la chiave di registro. Fonte: controllo dell'account utente . Ma se si disabilita completamente UAC, tutti i processi vengono avviati con i privilegi di amministratore.
Alexey Ivanov,

1
@AlexeyIvanov E ora che ho disabilitato UAC da Criteri di gruppo, hai ragione! Ora tutto è in esecuzione elevato.
Insane il

Sì. Sebbene le app IIRC per Windows Metro dipendano dal non elevare.
qasdfdsaq,

Risposte:


37

Il task manager funziona come amministratore di default su Windows 10?

Solo se viene eseguito da un account amministratore. La risposta di Ben N che segue ha una grande spiegazione di come questa sia effettivamente implementata.

Se avessi eseguito il task manager come amministratore, mi avrebbe comunque dato questo messaggio "Accesso negato"?

Sì. Esistono molti processi che nemmeno un amministratore può terminare. Inoltre, il tentativo di terminare un'attività inesistente produce anche questo messaggio di errore.

Se il motivo per cui hai ricevuto il messaggio "Accesso negato" era dovuto al fatto che Task Manager non era in esecuzione come amministratore, riceveresti questo messaggio molto esplicito che ti dice così:

inserisci qui la descrizione dell'immagine

Inoltre, c'è qualche differenza tra eseguirlo come amministratore o no?

Sì, ma dovresti eseguirlo da un account non amministratore per vederlo.

Per inciso, tutti i comportamenti sopra indicati sono esattamente gli stessi di Windows 8 / 8.1


1
Certo che lo è. Copre tutti i punti, ma sono propenso a dare 48 ore affinché altre risposte abbiano una possibilità (come ho urlato più volte per aver accettato troppo presto :)
Insane

Nella mia esperienza, ciò accade di solito quando un processo è bloccato in attesa del completamento di una richiesta I / O in modalità kernel. Vedi "Accesso negato" quando si tenta di terminare un processo su Windows 8
Christopher Oicles

È possibile terminare questi processi se si avvia taskmgr come SISTEMA, utilizzando "psexec -d -i -s taskmgr"
drake7707,

1
@ drake7707 In realtà, i processi protetti non possono essere terminati o nemmeno scritti in DAC dalla modalità utente, anche se si esegue come SISTEMA. Non credo che la modalità utente possa occuparsi in modo autorevole di processi sospesi nella modalità kernel; devi chiudere tutti gli handle ( vedi un'altra delle mie risposte ) e attendere il completamento di tutte le richieste in modalità kernel.
Ben N

@BenN Più in generale, nel punto in cui qualcosa nel kernel è sospeso; non hai potenzialmente problemi molto più seri di una semplice applicazione che non può essere chiusa con alcun mezzo sicuro.
Dan Neely,

18

La risposta esistente è molto buona. Fornirò alcuni dettagli tecnici per coloro a cui piacciono queste cose.

Taskmgr.exe(in \Windows\System32) è il programma che viene eseguito quando si chiama Task Manager. Ispezionandolo con un editor esadecimale, ho scoperto che il suo manifest è impostato requestedExecutionLevelsu highestAvailable. Ciò significa che se si esegue come amministratore locale, Task Manager richiederà di elevare. Puoi dimostrarlo facilmente impostando UAC al livello più alto e premendo Ctrl + Maiusc + Esc per avviare Task Manager, osservando che produce un prompt di elevazione. Se UAC non è ai massimi livelli, Task Manager può elevarsi silenziosamente perché è un componente di Windows integrato. In breve, sì, Task Manager viene eseguito come amministratore per impostazione predefinita quando possibile .

highestAvailable(al contrario requireAdministrator) consente ai non amministratori di eseguire il programma senza che venga chiesto loro di elevarsi, ma ovviamente non saranno in grado di fare nulla di amministrativo da esso.

Un modo semplice per vedere se un programma è in esecuzione elevato consiste nell'abilitare la colonna di virtualizzazione UAC nella scheda Dettagli di Task Manager. Se e solo se la voce di un processo in quella colonna non è consentita , allora è elevata. (I processi amministrativi non possono essere reindirizzati alla compatibilità.) È inoltre possibile verificare se dispone dei potenti privilegi (ad es. SeSecurityPrivilege) Utilizzando Sysinternals Process Explorer .

In risposta alla tua domanda sull'accesso ancora negato ad alcuni processi, Windows ha un concetto di processi protetti che non possono assolutamente essere toccati dalla modalità utente, nemmeno dai processi in esecuzione come SYSTEM; la protezione è imposta dal kernel. Solo i servizi di sistema essenziali ottengono questo tipo di protezione. Uno di questi processi è csrss.


2
Molte applicazioni antivirus (comprese quelle di Microsoft) sono anche protette.
qasdfdsaq,

perché è un componente di Windows integrato Sembra un modo per il malware di avviarsi con privilegi di amministratore senza un prompt UAC ... Mi chiedo come un gioco riesca a far applicare tale sicurezza al kernel.
CausingUnderflowsOwherewhere

@CausingUnderflowsEverywhere Per manomettere la logica che sceglie cosa sia un "componente Windows integrale", il malware dovrebbe già essere in esecuzione come amministratore, sebbene siano note altre strategie di exploit di bypass del controllo dell'account utente. Inoltre, credo che il servizio di informazioni sull'applicazione (un programma in modalità utente) sia responsabile della gestione delle richieste di elevazione.
Ben N

1

Ho scoperto un'altra possibile causa di questo messaggio di errore, che non è qualcosa che avrei mai pensato di verificare durante la risoluzione di un errore di "Accesso negato".

sfondo

Microsoft ha introdotto un nuovo meccanismo di gestione delle risorse, a partire da Windows 8. Quando le risorse del sistema sono molto richieste, Windows può scegliere alcuni processi da posizionare in uno stato "Sospeso", al fine di liberare le proprie risorse per altri processi. Un processo sospeso viene essenzialmente bloccato fino a quando il sistema non lo sospende, cosa che si verifica più comunemente in risposta all'utente che avvia un'interazione con quel processo. Per qualsiasi motivo, Task Manager non è esente da questo meccanismo, e in effetti ha un comportamento particolarmente inaspettato: quando Windows mette taskmgr.exe nello stato Sospeso, anche l'impostazione "Velocità di aggiornamento" viene modificata, da qualunque cosa tu abbia impostato a, in pausa. Tuttavia, quando il processo non è sospeso, l'impostazione "Velocità di aggiornamento" non viene ripristinata al suo valore originale: rimane sull'impostazione Pausa !

Errore Causa

Quando "Velocità aggiornamento" di Task Manager è impostato su Pausa , la scheda Dettagli può mostrare i processi che non sono più in esecuzione. In questo caso, e si tenta di "Termina processo" in un processo inesistente, verrà visualizzato l'errore "Accesso negato". La soluzione (a breve termine) * è garantire che la "Velocità di aggiornamento" sia impostata su qualcos'altro, come Normale , prima di tentare di terminare un processo.

 

* Per quanto riguarda la soluzione a lungo termine di prevenire la "velocità di aggiornamento" impostazione di passare alla pausa in primo luogo (il che accade sempre ) ... Sto ancora alla ricerca di quella!

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.