Okay, ich bin durch eure Diskussion leicht verwirrt. Soll/muss/kann es jetzt gehen oder nicht?
In meinem o.g. Code
hier bekomme ich ja bei korrekten Anmeldedaten (in meinem Fall vom lokalen Administrator) vom Impersonate ein True zurück, was ja nun bedeutet, dass diese Anmeldung korrekt war. Das darauf folgende ForceDirectories im Programme-Order schlägt jedoch fehl mit "Zugriff verweigert".
Heißt das jetzt, dass die Funktion Impersonate lediglich dazu verwendet werden kann ein fremden Userkontext zu laden, oder könnte man tatsächlich systemweit als dieser Benutzter handeln, sprich eben Dinge tun, die dem Administrator vorbehalten sind.
Denn das:
Öhm ... also
ImpersonateLoggedOnUser gibt in der Tat dem
Thread die Rechte des Nutzers dessen Identität man annimmt. Himitsu erwähnte es bereits.
widerspricht dem:
Man durch diese "Impersonation" sich als anderer Benutzer ausgeben, auf dessen Resourcen (z.B. Registry oder Dateien) zugreifen, aber die Admin-Fähigkeiten kommen dadurch nicht nach.