如何创建批处理文件,从工作组计算机列表中选择随机计算机并在其中一台计算机上运行psexec?

时间:2016-04-26 19:32:51

标签: batch-file

如何创建从LAN计算机列表中选择随机计算机并在其中一台计算机上运行psexec的批处理文件?

我想做一些像net view这样的事情然后解析这些结果来创建一个随机选择的变量,然后在随机选择的机器上运行psexec。

1 个答案:

答案 0 :(得分:0)

试试这个:

@echo off
setlocal enabledelayedexpansion

echo Computers found:
set n=0
for /f "tokens=1" %%a in ('net view') do (
    set comp=%%a
    if "!comp:~0,2!" == "\\" (
        echo !n!: !comp!
        set vector[!n!]=!comp!
        set /A n+=1
    )
)

echo Selecting random computer out of %n% computers...

set /A randval=%random% * %n% / 32767
set randcomp=!vector[%randval%]!

echo Selected: %randval%: %randcomp%

此脚本将运行net view并解析每一行以查找所有计算机,仅计算第一列,并且仅在它以\\开头时计算。它将所有计算机写入伪数组vector[...]并计算n中的总数。最后,它生成一个介于0和n之间的随机数,并根据此数字选择一个存储的计算机名称。然后,您可以根据自己的喜好使用%randcomp%

例如,您现在可以在批处理文件的末尾使用psexec

psexec %randcomp% -u Administrator cmd

-u Administrator cmd当然只是一个例子。)