使用 Powershell 注销远程设备;基于 IP 列表

Using Powershell to log off remote devices; based on a list of IPs

所以正如标题本身所暗示的那样,我正在尝试编写一个 powershell 脚本,以便我可以从连接到所有计算机的中央服务器注销计算机列表。

幸运的是,困难的部分已经过去了。所有计算机都完全交织在一起,并与我的服务器通信。我正在尝试提出一个 powershell 脚本,它将在站点列表上自动执行注销过程。

所以基本上,我有一个基本的 txt 文件,其中包含一个站点 IP 列表。根据列表,理想情况下,我会简单地 运行 一个 powershell 脚本,它会发出 shutdown -l -f 命令,以注销站点。

我已经可以与站点通信,但是注销它们有点痛苦。我目前正在使用这个简单的命令来关闭电台

关机-m 10.123.45.67 -l -f

自然地,在任何给定时间为 10 个左右的站点一遍又一遍地键入此内容非常耗时。我试过在这里搜索,但有点难以表达 x_x

有什么建议吗?

试试这个:

$machines = Get-content <filepath>\<filename>.txt    
foreach ($machine in $machines)
        {
            shutdown -m $machine -l -f
            $machines = $machines | Where-Object {$_ -ne "$machine"}

        }

试试这个 computers.txt 包含 ip 地址

192.168.1.1

192.168.1.3

$comp =  Get-content c:\computers.txt
(gwmi win32_operatingsystem -ComputerName $comp).Win32Shutdown(4)

看起来这对我有用:

foreach ($_ in get-content computers.txt) 
{(gwmi win32_operatingsystem -ComputerName $_).Win32Shutdown(4)}