【发布时间】:2014-05-23 04:58:33
【问题描述】:
我大多是这种东西的新手,遇到了一个我不知道如何解决的问题。基本上,它正在查看 test.txt 并使用其中的计算机名称列表,并在每个文件上运行批处理文件。如果我能找到一种插入远程计算机名称的方法,我会很高兴,但我不知道该怎么做。我进行了一些研究,发现有些人说您可以将 %COMPUTERNAME^% 与 ^ 一起使用,使其能够返回远程计算机名称,而不是我从中运行命令的名称。如果我执行以下操作,这将起作用:
psexec @c:\test.txt cmd /c echo %COMPUTERNAME^%
但是,如果我尝试在要运行的文件的路径中使用它,它就不起作用,只是尝试使用“%COMPUTERNAME%”作为实际名称而不是解析它。这是我正在尝试使用的命令:
psexec @c:\test.txt elevate \\%COMPUTERNAME%\c$\IE10fix.bat
我正在尝试在一长串计算机名称上运行此批处理文件,它必须以本地管理员身份运行,这就是我使用 elevate 的原因。如果有人可以提供远程计算机名称问题的解决方案,或者甚至是另一种方法,我将非常感激。
【问题讨论】:
-
为什么您认为需要在每个命令中替换计算机名称?如果批处理文件在每台目标机器上,只需使用本地路径,例如
psexec @c:\test.txt elevate C:\IE10fix.bat。如果它在单个服务器上,请使用服务器的路径,例如psexec @c:\test.txt elevate \\server\c$\IE10fix.bat. -
如果您尝试使用 UNC 路径,它将不起作用。我在其他地方读到这是 psexec 的限制。我只是脑子里放了个屁。使用本地路径就可以了。谢谢!
标签: batch-file cmd elevated-privileges