如何从 Web 请求 运行 ftp-以管理员身份部署 exe?

How to run ftp-deployed exe as admin from web request?

目标: 我定期通过 FTP 将新的 .exe 文件上传到 windows 服务器 2003,我想通过点击同一服务器上的网站 Url 手动 运行 它。 Exe 需要在管理员帐户下 运行,而不是 NETWORK SERVICE 帐户。

目前我取得的成就: 我已经能够通过 Web 请求成功地 运行 服务器管理员帐户下的记事本等应用程序,方法是使用以下任何一种:

问题:
以上方法 运行 我的 exe 但任务管理器,或对 System.Security.Principal.WindowsIdentity.GetCurrent().Name 的调用显示它在 NETWORK SERVICE 下 运行ning。

我怀疑此文件添加了安全限制,因为它来自 ftp link。在文件属性中检查 运行-as-administrator 不是一个选项,因为文件将被定期替换并且所有都需要自动化。手动服务器配置也应该最少或最好不存在。纯代码单网页解决方案是理想的。编辑 asp.net 网页和 exe 都可以。 (我尝试了一些带有 exe 自动重启的东西)。

对此不确定,但我怀疑这与您在 NETWORK SERVICE 用户下 运行ning 的网站有关。无论您的网站用户拥有什么特权,当您尝试 运行 您的可执行文件时,可能会授予/传递相同的特权。

此服务器是在内部网络上还是以其他方式受到保护? (我希望如此!)。如果是这样,您可以尝试将网站 运行ning 下的应用程序池更改为管理员帐户(在 IIS 中,右键单击应用程序池 运行ing 站点,select 高级设置,并查找 Identity 设置)。如果我是对的,那将允许您 运行 您的可执行文件也作为管理员。

但是请注意,这可能会增加您设置的安全风险:允许您的站点在管理员帐户下 运行 意味着更容易访问您的整个服务器如果有人能够渗透您所采取的任何安全措施。确保对该服务器的访问受到严格限制,最好是它不能访问其他系统,因为这反过来会使它们因扩展而变得脆弱。