簡體   English   中英

.NET模擬無法正常工作

[英].NET Impersonation not working

我正在使用https://github.com/mj1856/SimpleImpersonation來模擬管理員,因此我可以通過非管理員用戶運行的應用程序對Windows服務進行更改。 這可以在Windows 7上正常運行。 在Windows 10上,我必須右鍵單擊該應用程序,然后單擊以管理員身份運行才能運行。 否則,當我的應用嘗試修改服務時,我將收到錯誤代碼5(拒絕權限)。 模仿似乎正在工作。 UAC已關閉。 我不知道下一步該怎么做。

您還沒有發布任何代碼 ,所以我准備做一個猜測這里,並建議你試試LogonType.NewCredentials。 這將使LogonUser調用緩存憑據,以便稍后將其用於模擬。

這不起作用的原因是我打開了UAC。 我已經在Windows中禁用它並重新啟動,但是顯然這還不夠。 我必須創建注冊表項

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

並重新啟動以真正禁用UAC。

作為對其他開發人員的說明,我無法使用c#進行模擬,但也無法使用powershell和psexec進行模擬,這導致我進入PSEXEC解決方案,訪問被拒絕錯誤

SimpleImpersonation (我是作者)是Windows LogonUser API的托管包裝。 它本身沒有任何魔術,而是可以幫助您輕松地使用該API。

使用此庫時,將傳遞一個LogonType ,該LogonType與LogonUser文檔中引用的那些匹配。 每種登錄類型都有不同的行為,該行為由操作系統控制。 例如,如果你正在使用LogonType.Interactive ,即通過LOGON32_LOGON_INTERACTIVELogonUser API進行交互式登錄。

交互式登錄使用UAC進行管理操作。 建議禁用它。 同樣不是LogonUser在交互式會話期間返回受限令牌。 您不能解決交互式登錄問題,但是可以根據自己的操作嘗試其他登錄類型之一。

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM