Если вы хотите получить доступ к папкам пользователя A и папкам пользователя B, вам просто нужно настроить права доступа к папкам таким образом, чтобы администраторы имели разрешения на доступ ко всем папкам. Обычно администраторы машин уже имеют эти права. Я предполагаю, что речь идет о обычных учетных записях пользователей Windows и обычных учетных записей администратора машины/домена.
Если вы хотите стать Пользователем A, это означает, что вам необходимо активное разрешение пользователя A, чтобы стать этим человеком. Олицетворение не просто (из того, что я пробовал), вам нужно запросить доступ через ваш контроллер домена и обсудить, что вы являетесь пользователем B, и что у вас есть права выдавать себя за пользователя A, как правило, это делается с помощью доступа пользователя A и пользователя B и согласование учетных записей и контекстов безопасности. Я сомневаюсь, что это тот тип процесса, который вы ищете.
Некоторые полезные функции включают:
Для установки контекста они используются и данные передаются назад и вперед между пользователем A и пользователем B, чтобы вести переговоры олицетворения
AcquireCredentialsHandle()
InitializeSecurityContext()
AcceptSecurityContext()
CompleteAuthToken()
После того, как переговоры будут завершены и контекст безопасности был создан, они используются для запуска и остановки олицетворения.
ImpersonateSecurityContext()
RevertContext()
Я не знаю ни одного другого способа выдать себя за пользователя без активного участия пользователя в вопросе, или активно входе в систему как пользователь.
Надеюсь, это поможет в некотором роде.
Я сделал это, и он работает. – kenny 2008-10-17 12:21:34