当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 远程重启 Windows 计算机

作者:精品下载站 日期:2024-12-14 19:08:50 浏览:14 分类:玩电脑

如何使用 PowerShell 远程重启 Windows 计算机


尤其是,系统管理员时不时地需要重新启动服务器或系统。通常,您可以通过图形用户界面远程关闭或重新启动 Windows - PowerShell 提供了多种远程重新启动计算机的方法,我们将在本文中概述 6 种已知方法。

[玩转系统] 如何使用 PowerShell 远程重启 Windows 计算机

如何使用 PowerShell 远程重新启动 Windows 11/10

这些方法的先决条件是确保我们可以联系远程系统并根据需要进行身份验证。此外,您还需要验证远程系统是否未等待重新启动。

您将需要以下内容:

  • 本地管理员组中远程计算机上的用户帐户。

  • Windows PowerShell 或 PowerShell Core。

1. 使用Restart-Computer重新启动远程计算机

此 cmdlet 易于使用且参数灵活。该命令起作用的另一个先决条件是,确保 WinRM 已配置并允许通过远程计算机的 Windows 防火墙,并且允许 WMI 通过 Windows 防火墙。

Restart-Computer -ComputerName $ComputerName -Force

要并行重新启动多台计算机,请运行以下命令:

$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3

2. 使用 Invoke-CimMethod 重新启动远程计算机

Invoke-CimMethod 通过使用 WIM 方法来重新启动远程系统,但不如 Restart-Computer cmdlet 灵活。

该命令起作用的另一个先决条件是,确保 WinRM 已配置并允许通过远程计算机的 Windows 防火墙。

Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'

3.使用shutdown.exe重新启动远程计算机

shutdown.exe 是 Windows 提供的用于重新启动系统的标准内置可执行文件,它不是 PowerShell 命令,但提供了一系列强大的选项。

该命令起作用的另一个先决条件是,确保远程计算机已启用远程注册表服务并且允许 WMI 通过 Windows 防火墙。

shutdown.exe /m \remotecomputer /r /t 0

4. 使用 PSExec.exe 重新启动远程计算机

psexec.exe 是 Sysinternals 工具包中最常用的实用程序之一,它提供了多种独特的功能,可以轻松地与远程系统进行交互。

该命令工作的另一个先决条件是,确保 SMB 服务正在运行、启用文件和打印机共享、禁用简单文件共享并且 admin$管理共享可用。

psexec.exe -d -h \remotecomputer "shutdown.exe /r /t 0 /f"

5. 使用 RunDLL32.exe 重新启动远程计算机

rundll32.exe提供了一种针对内部可执行文件和 Windows API(例如 shell32.dll)运行某些方法的方法。您可以通过两种方法使用此功能重新启动系统,但此方法本身实际上无法远程使用,您可以通过远程系统上的 Invoke-Command 将此与 PowerShell 结合使用。

方法一

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

方法2

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

6. 使用 Taskkill.exe 重新启动远程计算机

最后但并非最不重要的一点是,taskkill.exe 是另一个 Windows 实用程序,它提供了一些重新启动 Windows 的功能,不过是以一种迂回的方式。通过结束 lsass.exe 进程,您将强制 Windows 重新启动。

taskkill.exe /S \remotecomputer /IM lsass.exe /F

这就是使用 PowerShell 重启远程计算机的 6 种方法!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯