【问题标题】:PSexec file on list of computers speed up计算机列表上的 PSexec 文件加速
【发布时间】:2016-02-15 09:32:08
【问题描述】:

我希望我能得到一些帮助。我有大约 300 台计算机,我必须清除所有临时 Internet 文件夹并单独注销它们。

目前我在 C: 驱动器上有一个文件,其中包含以下命令:

  • 清除临时 Internet 文件夹:

    RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
    
  • 注销

    shutdown /l /t 0 /f
    

这是我用来在每台计算机上远程执行该命令的 PSexec 命令:

@echo off

psexec @C:\_\complist.txt -u Admin -p PASSWORD -i.    c:\clearcache.cmd

我遇到的问题是它需要很长时间,大约 30 - 35 分钟,因为它一次只做一个。无论如何我可以加快速度吗?也许我可以一次做所有而不是一次做1?

如果有人可以帮助提高速度或帮助我找到更好的方法,我将不胜感激。

谢谢

执行时遇到的错误:

【问题讨论】:

    标签: batch-file cmd psexec


    【解决方案1】:

    反过来:不要一次做所有事情,而是分开做。听起来适得其反?使用批处理解析 complist.txt 并为每台计算机而不是计算机列表启动 psexec

    for /f "delims=" %%i in (C:\_\complist.txt) do (
      start "%%i" psexec \\%%i -u Admin -p PASSWORD -i.  c:\clearcache.cmd
    )
    

    start 为在每台计算机上执行 psexec 创建一个新进程,并且不等待它完成,因此它们都(几乎)并行运行。

    【讨论】:

    • 批量解析complist.txt是什么意思?对不起,我是这方面的初学者。我尝试运行代码的每一种方式都会弹出几个屏幕,但从不执行代码。
    • 解析基本上是逐行读取文件。 for 构造将文本文件的每一行分配给变量%%i(一个接一个)。然后你可以用%%i 做一些事情(换句话说:对每一行做同样的事情)
    • 哦,好吧,如果我理解正确的话,我不需要对实际的 complist.txt 做任何事情。因此,当我执行您在上面编写的脚本时,它实际上并没有在计算机本身上执行脚本。看我运行脚本时拍的照片。
    • 我没有安装psexec,所以我无法尝试。但是/i 之后的点对我来说看起来很可疑。这会导致语法错误吗?
    • 除了使用 psexec 有没有更好的方法?
    【解决方案2】:

    您可以查看 SCCM 来运行这样的脚本,如果它还没有到位,则会有很多开销。但可能值得考虑在未来进行更大规模的部署。

    我过去使用过 PDQ Deploy,效果很好,他们有几个级别的许可,包括免费的,具体取决于您的业务。 DPQ Modes

    您还考虑过在设定的日期推出一个清除 IE 收藏夹的计划任务,这也可以运行注销命令,但这可能会变得混乱。有了计划的任务,就可以像过去一样运行注销命令,而不会等待清理命令完成。

    如果您有域,则可以使用组策略将计划任务推送到 PC,从而避免您制作导入脚本并使用 psexec.exe 进行部署。

    只是给你一些想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      相关资源
      最近更新 更多