我有一台戴尔服务器(PowerEdge R420)和一台 QNAP NAS(TS-412-U)连接到 UPS(戴尔 1000W 机架),ULNM 软件安装在服务器上,UPS 通过 USB 连接到服务器。
在发生关机事件的情况下,我想运行一个.bat 文件,该文件在服务器关闭之前通过 plink 关闭 NAS,该.bat 文件如下所示:
C:\shutdown\plink.exe [email protected] -batch -pw xxxxx -m C:\shutdown\nas.shutdown
shutdown.exe -s -t 30
nas.shutdown 包含以下内容:
halt
如果我通过远程桌面直接在服务器上运行.bat 文件,脚本会关闭 NAS,然后关闭服务器,一切正常。
如果我通过 ULNM 关闭事件执行脚本,则会启动并执行 1 分钟内的服务器关闭,但 NAS 不会关闭,plink 部分似乎不会被执行。
如果我将脚本输出发送到日志文件,它将保持为空,没有错误消息或任何类型的输出。
C:\shutdown\plink.exe [email protected] -batch -pw xxxxx -m C:\shutdown\nas.shutdown > C:\shutdown\test.log
shutdown.exe -s -t 30
有人遇到过类似的问题或有解决我的问题的方法吗?
非常感谢。
答案1
问题在于接受指纹,我用我的用户帐户执行了此操作,但没有用执行通过 Web 界面启动的关机命令的帐户执行此操作。
(-batch 只是抑制提示,并不回答它是否是正面或负面的问题......)
为了解决这个问题,可以像这样通过管道输入 ay:
y | C:\shutdown\plink.exe [email protected] -pw xxxxx -v halt
或者使用与 NAS 上的 authorized_keys 文件中输入的公钥相匹配的私钥。