Impossibile eseguire Esplora file come utente diverso


8

In seguito a questa domanda sull'apertura di Esplora file come utente diverso , ho provato a navigare C:\Windows, a shift + facendo clic con il pulsante destro del mouse explorer.exee facendo clic su "Esegui come utente diverso". Quando inserisco i dettagli di accesso dell'utente, ricevo 2 messaggi di errore successivi, che dicono entrambi

Windows non può accedere al dispositivo, al percorso o al file specificati. Potresti non avere le autorizzazioni appropriate per accedere all'elemento

Se provo i dettagli di accesso dell'account attualmente connesso, funziona, ma l'altro no. Questo è il caso di entrambi gli account (amministratori) sul mio PC.

modificare

C'è stata una certa confusione nei commenti. Sto cercando di seguire la risposta accettata nella domanda collegata sopra e non funziona. Alcune persone dicono che non si può fare, quindi è strano che ci sia una risposta accettata con 3 voti


@ BlueBerry-Vignesh4303 Gli utenti sul mio PC dispongono delle autorizzazioni sia Lettura che Lettura ed Esegui perexplorer.exe
binaryfunt

La mia opinione generale sarebbe che poiché Explorer [già un processo di esplorazione parallela in esecuzione su un utente esistente] è una directory comune che è comune per entrambi, che serve all'esplorazione dei file nella directory di Windows, quindi potrebbe non essere accessibile da un altro utente, è lo stesso risultato mentre eseguire altri programmi Microsoft come cmd.exe?
BlueBerry - Vignesh4303,

@ BlueBerry-Vignesh4303 Posso aprire cmd.exebene come un altro utente. Se la risposta accettata della domanda collegata (3 voti) dice di fare ciò che ho cercato di fare per eseguire explorer come utente diverso, dovrebbe funzionare
binaryfunt

Se riesci ad aprire cmd bene, da lì digita start .e dovrebbe aprire un esploratore come quell'utente.
LPChip,

@LPChip Ottengo lo stesso messaggio di errore se lo provo e viene visualizzato Access deniedsulla riga nuova (il normale prompt cmd può ancora aprire explorer come account corrente)
binaryfunt

Risposte:


6

Per questo post sul blog TechNet , explorer.exe sembra essere a thread singolo e non consentirà l'esecuzione di più thread con account utente diversi:

Windows Explorer non è stato progettato per essere eseguito in più contesti di sicurezza nella stessa sessione desktop, Windows non può semplicemente lanciare un prompt UAC e quindi avviare un'istanza elevata di Explorer

L'alternativa più utile all'utilizzo di explorer.exe , come indicato anche in quell'articolo, è scaricare explorer ++ ed eseguirlo come l'utente che desidera sfogliare i file. È possibile connettersi ai percorsi UNC con la stessa facilità con explorer ++ come con Explorer, quindi sembra essere un'alternativa sufficiente. Questo è anche l'approccio più semplice che ho incontrato che non richiede autorizzazioni elevate (come quelle necessarie per immischiarsi nel registro o installare software aggiuntivo).


2
Questa sembra la risposta corretta. Ho trovato gli stessi ostacoli del PO. Credo che questa risposta dovrebbe essere la risposta accettata.
James Jenkins,

1

Da quello che puoi leggere in altre domande ( 1 , 2 ) su questo argomento di solito è nella migliore delle ipotesi e certamente non è uno scenario supportato. Inoltre la seconda domanda ha alcune informazioni in più e se segui alcuni link finirai qui: E quindi questo è Vista ...

Se controlli quell'articolo leggerai quanto segue:

Su Vista, tuttavia, ci sono più modifiche. Né Internet Explorer né Windows Explorer sono disposti a intrattenere più account sullo stesso desktop. Se si tenta di eseguire IE con un account utente diverso da quello del desktop, verrà visualizzato un messaggio di errore: "Il comando RUNAS non è supportato." A quanto ho capito, il motivo principale è che con la modalità protetta Internet Explorer, che funziona a livello di bassa integrità, IE avvia anche un processo di broker IL medio (ieuser.exe) che viene eseguito come utente desktop e che cancella le operazioni di IL medio selezionate per il processo di IL basso. Consentire identità multiple in quel mix avrebbe introdotto una significativa complessità da evitare. Se provi a eseguire Windows Explorer come un altro utente, non vedrai nulla: il nuovo processo si avvia ma termina senza visualizzare una finestra.

...

Explorer è un po 'più complicato. L'applicazione diretta di "Esegui come amministratore" non lo farà, ma spesso lo eseguirà da una shell dei comandi elevata. Trovo che una riga di comando come "explorer / e, c: \" funzionerà, mentre l'esecuzione di "explorer" potrebbe non funzionare. Ma come prima : se funziona affatto, è un effetto collaterale involontario dell'attuale implementazione ed è soggetto a modifiche in qualsiasi momento.

È ragionevole aspettarsi che mantengano questo comportamento come in Windows Vista, Windows 7, Windows 8 e ora (probabilmente) Windows 10.

Quindi sembra che dovrai usare un hack, prendere in considerazione una soluzione alternativa o rivalutare il tuo problema che ti porta a dover eseguire un explorer come un altro utente.

Per ovviare a questo problema, potresti utilizzare un altro esploratore di file come Total Commander, uno in cmdesecuzione con credenziali diverse, una finestra di dialogo di apertura dei file di alcuni altri software che hai avviato come utente diverso o il "passaggio rapido" di Windows per passare temporaneamente all'altro utente.

Non hai davvero fornito alcuna informazione sul motivo per cui stai cercando di farlo, quindi non ho idea di come potrebbe essere un approccio diverso e per quanto riguarda l'hack ... ce ne sono molti nelle domande precedenti. Suppongo che quello che hai collegato nella tua domanda iniziale sia stato mascherato come risolto è che la persona ha fatto qualche ricerca in più e forse si è imbattuta in quegli hack.


1

Impostando Explorer per aprire le cartelle in processi separati utilizzati per consentire che funzioni sotto 1511. Ad esempio al prompt dei comandi in esecuzione come utente1, "explorer c: \ somePath" aprirà una finestra di Explorer in esecuzione come utente1, mentre da un prompt di comandi in esecuzione come UserZ , lo stesso comando aprirebbe una finestra di Explorer in esecuzione come UserZ.

Dopo l'aggiornamento al 1607, si è rotto. Fare clic con il pulsante destro del mouse ed eseguire come utente diverso genera gli stessi errori sopra indicati.

Avviando explorer dal prompt dei comandi, non viene mai visualizzata alcuna finestra, ma un nuovo processo explorer di proprietà dell'utente desktop attualmente connesso. Tale processo alla fine scompare da solo. Ho visto un paio di volte in cui il nuovo processo di explorer si avvia come l'utente che lo ha invocato, quindi quel processo si chiude immediatamente e viene generato un nuovo processo di proprietà dell'utente desktop (e non si presenta mai, e dopo un po 'viene automaticamente ucciso ). Ho il sospetto che sia sempre così, di solito accade troppo rapidamente per osservarlo in Task Manager. Process Monitor o qualcosa di simile probabilmente aiuterebbe a dimostrarlo, ma non mi sono preoccupato, dal momento che probabilmente non riesco a risolverlo comunque. : \


1

Una soluzione interessante che ho scoperto di recente, e nessuno qui ha ancora menzionato:

Genera qualsiasi processo / programma come un utente diverso (ad esempio Blocco note) e, a seconda del programma e del framework utilizzato, puoi utilizzare l' API della finestra di dialogo File comuni per eseguire molte operazioni di shell "explorer" regolari.

(Basta selezionare Salva con nome .. o Apri ... dal menu e utilizzare il menu contestuale per eseguire copia / incolla, ecc., Quindi "annullare" la finestra di dialogo).

Come eseguire come utente diverso in primo luogo

Per generare un programma come un altro utente, usa le shellrunas sysinternals , che possono installare una voce del menu contestuale. In alternativa, genera un cmd con runas di Windows integrate , quindi avvia un programma che utilizza un'API della finestra di dialogo File comune .

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.