机器 A和机器 B位于不同的域中。机器 A使用 VPN 访问机器 B 的网络。
我试图冒充用户,以便在Machine BMicrosoft.Web.Adminstration
上的 IIS 中执行一些管理操作。
我试过的
我在这里尝试了解决方案:https://forums.iis.net/t/1162205.aspx?Using+Microsoft+Web+Administration+on+a+remote+machine+not+in+the+domain。LogonUser 的 returnValue 对我来说是错误的。当我开始写这篇文章时,我想可能不同之处在于发布者正在使用两个不同但受信任的域中的机器,尽管现在我看到他的一台机器只是在一个工作组中。老实说,我不确定这种情况与我的情况相比如何……它是否应该有效地相同。
我还尝试了另一种解决方案,该解决方案使用不同的登录类型值(NewCredential 而不是 Interactive)和不同的登录提供程序(WinNt50 而不是 Default),因为它声称它解决了我的域不受信任的问题。
还尝试将这两种解决方案结合起来,但到目前为止没有任何效果。
额外信息:
我开始在 asp.net mvc 项目中执行此操作,但是当第一个解决方案需要我调用时切换到控制台应用程序CoInitializeSecurity
,显然,它要求它没有被事先调用并且我不知道如何防止它一个 mvc 项目(在控制台应用程序中,我只需要禁用 Visual Studio 托管进程)。
我应该提一下,我可以使用NetworkCredential
该类和NetworkConnection
类(https://gist.github.com/AlanBarber/92db36339a129b94b7dd)连接到目标机器并写入文件。所以我绝对知道用户/密码可以工作,我可以从客户端机器上使用它们来访问文件。我只是不知道如何模仿他们。
我不认为我可以立即为此提供赏金,但如果有人能够提供解决方案,我会尽快添加赏金并将其提供给您。