没有通过从Windows服务执行的批处理文件访问URL

本文关键字:执行 批处理文件 访问 URL 服务 Windows | 更新日期: 2023-09-27 18:16:58

我正在通过Windows服务签署可执行文件。该服务创建一个批处理文件,其中实际的Sign命令为:

cd D:'wmt_sign'Signer'Tools
signtool sign /f "D:'codesign'cert'Certificate.pfx" /p MyPass /t "http://timestamp.digicert.com" /d "zxz" /du "http://www.testurl.com"  "D:'codesign'Sign'Request307'filetobesigned.exe">>"D:'codesign'log'signlog'Request'SignLogReport.txt"
  1. 当我直接从机器上执行批处理命令时,没有问题,一切正常
  2. 当我从命令行直接执行Sign命令时,没有问题,一切正常
  3. 当我在代码中执行批处理文件(process.startinfo....)等)时间戳-url无法到达!(错误是"无法到达指定的时间戳服务器")

服务在本地系统帐户下运行,有防火墙,但该防火墙对外部流量是开放的。

我完全不知道....

没有通过从Windows服务执行的批处理文件访问URL

默认情况下,LocalSystem帐户没有访问网络的任何权限。您应该使用"网络服务"帐户。即使这样,如果您试图访问的任何url都需要身份验证,它可能仍然无法工作。在这种情况下,您可能需要为服务创建一个域帐户来运行或模拟。