繁体   English   中英

使用Bash关闭Windows网络

[英]Shutting Down Windows Network Using Bash

这是我当前的代码,可以运行但是很慢

for i in {1..255..1}; do
  for j in {1..255..1}; do
    ip="10.8.$i.$j"
    sudo net rpc shutdown -I $ip -U Username%Password -t 1 -f
    echo $ip
  done
done

我希望能够通过这些IP并尝试将其关闭。 但是,如果该IP上没有PC,则必须等待PC超时再尝试下一个PC。 那么,如何查找和关闭网络上的所有Windows PC? (它们都具有相同的凭据)

一个简单的解决方案是将它们并行运行:

for i in {1..255..1}; do
  for j in {1..255..1}; do
    ip="10.8.$i.$j"
    sudo net rpc shutdown -I $ip -U Username%Password -t 1 -f &
    echo $ip
  done
  wait
done

一次运行255,并等待它们全部完成。 如果Windows支持,则可以通过xargssemparallel进行更智能,更灵活的并行化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM