【问题标题】:Run PSEXEC for every computer name in list为列表中的每个计算机名称运行 PSEXEC
【发布时间】:2017-12-13 21:24:39
【问题描述】:

我需要能够为 txt 文件列表中的每台计算机运行以下命令。 txt 文件将包含计算机名称,每行 1 个,id 需要将每一行导入 CompName 变量。以下是我目前拥有的。非常感谢您的帮助。

:Start
@echo off

Set /p CompName=Computer Name:
Set /p BatName=Batch File Name:

md \\%CompName%.company.local\C$\ScriptFiles\
Copy  "\\Server-Name\Installs\Scripts\%BatName%.bat" "\\%CompName%.company.local\C$\ScriptFiles\Run.bat" 


psexec \\%compname% -i -h -s  "C:\ScriptFiles\Run.bat"

GOTO Start

【问题讨论】:

  • 你为什么只使用PSEXEC的功能。它具有读取计算机名称列表的选项,还具有将批处理文件复制到远程计算机以执行它的功能。 psexec @file -c %batName%.bat
  • 你知道我无法回答这个问题,因为我完全忘记了它。谢谢你的提醒,我真的很感激。

标签: batch-file remoting psexec


【解决方案1】:
for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A

会给你一个计算机名列表。把它放在一个文件里。

for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A >> Computername.txt

然后在打开的电脑上打字

 wmic /node:@"Computername.txt" process call create "\\\\Server-Name\\Installs\\Scripts\\%BatName%.bat"

【讨论】:

  • 我需要能够手动定义这些计算机。他们是使用特定程序的特定用户。
猜你喜欢
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多