AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 74277
Accepted
Kyle Rosendo
Kyle Rosendo
Asked: 2009-10-14 23:46:58 +0800 CST2009-10-14 23:46:58 +0800 CST 2009-10-14 23:46:58 +0800 CST

IIS 不会运行 BAT 文件

  • 772

我们遇到的问题如下。我们有一个在 IIS7 下运行的 ASP.NET WebService。WebService 中的代码 100% 工作,但是当 WebService 尝试运行.BAT文件时,什么也没有发生。什么都没有,代码没有崩溃,服务器没有警告我们任何事情,什么都没有。

我们尝试过设置用户权限,我们尝试过运行 BAT 的不同方式,我们尝试过使用注册表,cmd.exe也拥有完全权限。

我们现在很困惑该怎么做,任何帮助将不胜感激。

iis
  • 5 5 个回答
  • 14027 Views

5 个回答

  • Voted
  1. Best Answer
    John Rudy
    2009-12-12T12:35:22+08:002009-12-12T12:35:22+08:00

    (注意:旧答案有点正确,有点不正确。开箱即用,IIS 无法执行 cmd.exe 实例,但显然是可能的......)

    您可以通过 ASP.NET 从 IIS 中运行批处理文件,但它要求您的模拟设置 100% 正确。

    出于本文的目的,我将假设您处于一个非常安全的环境中,并且您已经考虑了通过允许 IIS 执行批处理文件(在 cmd 实例中)可以打开的所有潜在攻击向量。可执行程序。)

    因此,Web 进程需要以管理员(GAH!)或其他可以执行批处理的帐户身份运行。我相信这对于收件箱 ASPNET/IUSR_ 帐户是不可能的。

    在 MSDN 上描述了激活模拟,并在法庭上给它一天的时间。

    • 3
  2. Scott Forsyth
    2009-10-15T05:46:04+08:002009-10-15T05:46:04+08:00

    这应该以运行 Web 服务的应用程序池身份用户身份运行。那是用户确保它有足够的权限来执行和运行批处理文件。除非您打开了模拟,否则它可能不是该站点的匿名用户。这是我的第一个猜测。

    在 ASP.NET 调用代码中,您应该能够获得返回代码或返回消息。如果是这样,看看这是否提供了任何进一步的线索。

    • 0
  3. Wim ten Brink
    2009-10-15T05:57:34+08:002009-10-15T05:57:34+08:00

    突然想到一个好主意!在 .BAT 文件的代码中添加一些“Echo sometext >>log.txt”行,以便生成一些日志记录。然后检查它是否确实写入此日志文件。可能是 .BAT 文件在某处等待用户输入。或者它等待用户按下一个键来关闭控制台窗口。由于这将是一个服务器,因此没有显示控制台的屏幕,因此它会永远等待用户按下服务器上的某个键。

    • 0
  4. Jeremy
    2009-10-15T13:35:55+08:002009-10-15T13:35:55+08:00

    您是否验证过 cmd.exe 的权限允许 IIS 执行它?在我的系统上,默认的 IIS 帐户没有所需的权限。

    • 0
  5. Broam
    2009-12-12T09:16:08+08:002009-12-12T09:16:08+08:00

    听起来这可能是因为它似乎是一种流行的恶意软件攻击媒介而被静默禁用。

    你有另一种解决这个问题的方法吗?

    • 0

相关问题

  • 2003 Server企业版不能运行ASP.NET应用程序?

  • 启用集成 Windows 身份验证时,ASP(经典)在哪个帐户下运行?

  • 是否有一种简单的方法可以生成有关 IIS 中“死”文件的报告?

  • IIS 7 中的 URL 重写

  • 对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve