2010-09-21 125 views
1

我在以管理員用戶身份運行的應用(使用LogonUser(),DuplicateToken()WindowsIdentity.Impersonate()函數)中模擬非管理員用戶帳戶。由於此用戶帳戶是臨時的,我還需要加載用戶配置文件(使用LoadUserProfile()本機功能)。所有方法都能成功執行(沒有設置最後一個錯誤),並且當前標識是預期的非管理用戶。但是,當我嘗試運行System.Diagnostics.Process.Start()的新進程時,出現錯誤:無法以非管理員模擬用戶身份運行 - 訪問被拒絕

訪問被拒絕。

當我嘗試手動執行與runas/profile/user相同的場景:mynonadmin用戶,一切工作正常。

我在這裏錯過了什麼?

回答

0

跑到這一陣子後面。

模擬的用戶無權訪問在Process對象上設置的CWD。創建一個ProcessStartInfo對象並將工作目錄設置爲模擬用戶有權訪問的位置。

相關問題