Domanda

È possibile impersonare un utente senza fornire nome utente / password? Fondamentalmente, vorrei ottenere il CSIDL_LOCAL_APPDATA per un utente (non quello corrente) usando la funzione ShGetFolderPath () . Tutto quello che ho attualmente è un SID per quell'utente.

È stato utile?

Soluzione

No, devi chiamare la funzione LogonUser dell'API Win32 per riavere il token dell'account di Windows in modo da poterti impersonare.

Altri suggerimenti

Puoi impersonare un utente senza fornire password chiamando ZwCreateToken. Vedi la funzione CreatePureUserToken in questo articolo: RunAsEx basato su GUI Devi essere in esecuzione come amministratore (o LocalSystem) affinché funzioni.

Un'altra tecnica consiste nell'utilizzare i pacchetti di sottoautenticazione di Windows. Ciò consente di ignorare l'autenticazione integrata di Windows e consentire a LogonUser di avere successo anche se non è stata fornita alcuna password. Vedi questo articolo KB .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top