[GH-ISSUE #401] [Bug] 本地部署,cmd脚本似乎未被执行 #254

Closed
opened 2026-03-03 01:01:57 +03:00 by kerem · 10 comments
Owner

Originally created by @cuiliang on GitHub (Jan 3, 2025).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/401

描述问题
设置如下命令,在部署成功后,没有效果。 手动运行命令可正常更新证书到iis。
image

命令里的换行是显示自动换行了,实际没有换行。
日志显示是正常的,但是里面没有执行脚本的日志(如果本身不支持,建议增加相关输出)
image

期望的结果
脚本被正常执行。

环境

  • 操作系统: Windows server2022
  • 仓库版本: v0.2.23-beta
Originally created by @cuiliang on GitHub (Jan 3, 2025). Original GitHub issue: https://github.com/certimate-go/certimate/issues/401 **描述问题** 设置如下命令,在部署成功后,没有效果。 手动运行命令可正常更新证书到iis。 ![image](https://github.com/user-attachments/assets/e9acc464-b56a-4cb4-919d-5de0b0c0cfcf) 命令里的换行是显示自动换行了,实际没有换行。 日志显示是正常的,但是里面没有执行脚本的日志(如果本身不支持,建议增加相关输出) ![image](https://github.com/user-attachments/assets/f92eaf1f-7e57-42be-afe5-622705464938) **期望的结果** 脚本被正常执行。 **环境** - 操作系统: Windows server2022 - 仓库版本: v0.2.23-beta
kerem 2026-03-03 01:01:57 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@cuiliang commented on GitHub (Jan 3, 2025):

https://github.com/cuiliang/Pfx2IIS
这个程序用来更新pfx到所有匹配域名的iis站点上,配合certimate使用,有需要的朋友可以试下。

<!-- gh-comment-id:2569261159 --> @cuiliang commented on GitHub (Jan 3, 2025): https://github.com/cuiliang/Pfx2IIS 这个程序用来更新pfx到所有匹配域名的iis站点上,配合certimate使用,有需要的朋友可以试下。
Author
Owner

@LeoChen98 commented on GitHub (Jan 7, 2025):

因为这里是从cmd启动程序而不是shell启动程序,应该使用start命令。另外,iis部署证书有预置的powershell脚本,你选powershell,然后从预设脚本里加载预设,修改一下参数就能用

<!-- gh-comment-id:2575885029 --> @LeoChen98 commented on GitHub (Jan 7, 2025): 因为这里是从cmd启动程序而不是shell启动程序,应该使用`start`命令。另外,iis部署证书有预置的powershell脚本,你选powershell,然后从预设脚本里加载预设,修改一下参数就能用
Author
Owner

@LeoChen98 commented on GitHub (Jan 7, 2025):

这不是一个bug,而是使用者对程序执行流程的误解,建议关闭issue。 @usual2970

<!-- gh-comment-id:2575886481 --> @LeoChen98 commented on GitHub (Jan 7, 2025): 这不是一个bug,而是使用者对程序执行流程的误解,建议关闭issue。 @usual2970
Author
Owner

@cuiliang commented on GitHub (Jan 7, 2025):

@LeoChen98 请教下,哪里有cmd启动命令需要start的说明? 印象里只有需要新窗口的时候才用start。

image

<!-- gh-comment-id:2576419249 --> @cuiliang commented on GitHub (Jan 7, 2025): @LeoChen98 请教下,哪里有cmd启动命令需要start的说明? 印象里只有需要新窗口的时候才用start。 ![image](https://github.com/user-attachments/assets/2ed427d5-54aa-42d4-b832-b255bfe9b902)
Author
Owner

@LeoChen98 commented on GitHub (Jan 8, 2025):

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmd

微软给了cmd的调用格式

<!-- gh-comment-id:2576548979 --> @LeoChen98 commented on GitHub (Jan 8, 2025): https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmd 微软给了cmd的调用格式
Author
Owner

@LeoChen98 commented on GitHub (Jan 8, 2025):

如果是用start命令依然没有成功执行的话,建议检查certimate有否管理员权限

<!-- gh-comment-id:2576551113 --> @LeoChen98 commented on GitHub (Jan 8, 2025): 如果是用start命令依然没有成功执行的话,建议检查certimate有否管理员权限
Author
Owner

@cuiliang commented on GitHub (Jan 8, 2025):

不知道这个链接你有没有看一下,里面是cmd.exe程序的参数格式,和这里的cmd命令、cmd脚本完全是不同的东西。
服务器都是administrator运行的,不会有权限问题。

另外,那个powershell只能更新一个站点,而且要改很多参数。 我有多个站点使用相同的证书,当然最好是能根据证书里的域名把所有相关站点都自动更新了,不要任何其它设置。所以才写了额外的程序来实现这样的目的,并且通过cmd来调用。

<!-- gh-comment-id:2576561365 --> @cuiliang commented on GitHub (Jan 8, 2025): 不知道这个链接你有没有看一下,里面是cmd.exe程序的参数格式,和这里的cmd命令、cmd脚本完全是不同的东西。 服务器都是administrator运行的,不会有权限问题。 另外,那个powershell只能更新一个站点,而且要改很多参数。 我有多个站点使用相同的证书,当然最好是能根据证书里的域名把所有相关站点都自动更新了,不要任何其它设置。所以才写了额外的程序来实现这样的目的,并且通过cmd来调用。
Author
Owner

@LeoChen98 commented on GitHub (Jan 8, 2025):

不知道这个链接你有没有看一下,里面是cmd.exe程序的参数格式,和这里的cmd命令、cmd脚本完全是不同的东西。
服务器都是administrator运行的,不会有权限问题。

另外,那个powershell只能更新一个站点,而且要改很多参数。 我有多个站点使用相同的证书,当然最好是能根据证书里的域名把所有相关站点都自动更新了,不要任何其它设置。所以才写了额外的程序来实现这样的目的,并且通过cmd来调用。

我只能说你对cmd有误解,windows下cmd就是指的cmd.exe。无论是cmd命令还是cmd脚本,本质都是通过调用cmd.exe去执行。至于win+r叫出来那玩意中文叫运行英文叫shell,它确实能接受你这么写。

用什么方法部署不重要,我只告诉你有这么个已经验证过的方法,至于你用不用是你的事。

<!-- gh-comment-id:2576633710 --> @LeoChen98 commented on GitHub (Jan 8, 2025): > 不知道这个链接你有没有看一下,里面是cmd.exe程序的参数格式,和这里的cmd命令、cmd脚本完全是不同的东西。 > 服务器都是administrator运行的,不会有权限问题。 > > 另外,那个powershell只能更新一个站点,而且要改很多参数。 我有多个站点使用相同的证书,当然最好是能根据证书里的域名把所有相关站点都自动更新了,不要任何其它设置。所以才写了额外的程序来实现这样的目的,并且通过cmd来调用。 > 我只能说你对cmd有误解,windows下cmd就是指的cmd.exe。无论是cmd命令还是cmd脚本,本质都是通过调用cmd.exe去执行。至于win+r叫出来那玩意中文叫运行英文叫shell,它确实能接受你这么写。 用什么方法部署不重要,我只告诉你有这么个已经验证过的方法,至于你用不用是你的事。
Author
Owner

@cuiliang commented on GitHub (Jan 8, 2025):

我知道cmd就是cmd.exe。 只是“要加start”是歪理,不存在这种要求。😂
不信的话试试运行 cmd /C "c:\windows\notepad.exe" 看看能不能打开记事本。

<!-- gh-comment-id:2576661582 --> @cuiliang commented on GitHub (Jan 8, 2025): 我知道cmd就是cmd.exe。 只是“要加start”是歪理,不存在这种要求。😂 不信的话试试运行 cmd /C "c:\windows\notepad.exe" 看看能不能打开记事本。
Author
Owner

@cuiliang commented on GitHub (Jan 8, 2025):

又仔细看了下截图,可能是引号的问题,出现了中文引号🤦‍♂️ 不过缺少log,还是建议增加下。 先close了,有空再试试。
感谢 @LeoChen98

<!-- gh-comment-id:2576663066 --> @cuiliang commented on GitHub (Jan 8, 2025): 又仔细看了下截图,可能是引号的问题,出现了中文引号🤦‍♂️ 不过缺少log,还是建议增加下。 先close了,有空再试试。 感谢 @LeoChen98
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/certimate#254
No description provided.