系统管理员通常需要远程重新启动Windows计算机以进行维护,更新或故障排除。 PowerShell提供了几种有效的方法来完成此任务。本文探讨了使用PowerShell远程重新启动Windows计算机的六种有效技术,从简单的CMDLET到更高级的方法。
远程重新启动的先决条件
在尝试重新启动远程Windows计算机之前,请确保您有:
- 远程计算机上具有本地管理员特权的用户帐户。
- PowerShell或PowerShell核心安装在本地机器上。
- Windows Remote Management(WINRM)通过远程计算机的防火墙配置并允许。
- Windows Management仪器(WMI)允许通过远程计算机的防火墙。
在进行任何重新启动命令之前,验证远程系统尚未等待重新启动也至关重要。
方法1:使用重新启动计算机CMDLET
这Restart-Computer
CMDLET是重新启动远程Windows计算机的最直接,最灵活的方法。
步骤1:在您的本地计算机上打开PowerShell作为管理员。
步骤2:使用以下命令重新启动一台远程计算机:
Restart-Computer -ComputerName "RemotePC" -Force
用要重新启动的远程计算机的实际名称或IP地址替换“ emerotepc”。
步骤3:要并行重新启动多台计算机,您可以使用以下命令:
$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3
该命令使用PowerShell的并行处理功能同时重新启动多台计算机,油门限制为3来控制资源使用情况。
方法2:利用Invoke-Cimmethod
这Invoke-CimMethod
CMDLET使用Windows Management仪器(WMI)重新启动远程系统。
步骤1:打开PowerShell作为管理员。
步骤2:执行以下命令:
Invoke-CimMethod -ComputerName "RemotePC" -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
用目标计算机的名称或IP地址替换“ remotepc”。
当使用具有特定WMI配置的系统时,或者需要在重新启动操作旁边执行其他与WMI相关的任务时,此方法特别有用。
方法3:使用shutdown.exe命令
这shutdown.exe
命令是一个内置的Windows实用程序,可用于重新启动远程计算机。
了解更多:
步骤1:打开PowerShell作为管理员。
步骤2:运行以下命令:
shutdown.exe /m \RemotePC /r /t 0
用要重新启动的远程计算机的名称替换“ emerotepc”。
此方法要求在远程计算机上启用远程注册表服务,并且可以通过Windows防火墙允许使用WMI。
方法4:雇用psexec.exe
PSEXEC.EXE是Sysinternals工具包的一部分,并提供了与远程系统进行交互的独特功能。
步骤1:从Microsoft官方网站下载并安装Sysinternals Suite。
步骤2:打开PowerShell作为管理员,并导航到包含psexec.exe的目录。
步骤3:执行以下命令:
.psexec.exe -d -h \RemotePC "shutdown.exe /r /t 0 /f"
用目标计算机的名称替换“远程EPEPC”。
此方法要求启用SMB服务运行,文件和打印机共享,可以禁用简单的文件共享以及在远程计算机上可用的管理$管理共享。
方法5:使用rundll32.exe通过invoke-command
此方法结合在一起rundll32.exe
与Powershell的Invoke-Command
重新启动远程系统。
步骤1:打开PowerShell作为管理员。
步骤2:运行以下命令之一:
方法5a:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe user.exe,ExitWindowsExec }
方法5b:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe shell32.dll,SHExitWindowsEx 2 }
用远程计算机的名称或IP地址替换“ emerotepc”。
当您需要与重新启动过程一起执行其他远程操作时,这些方法很有用。
方法6:强迫使用Taskkill.exe重新启动
该方法通过终止关键系统过程来迫使Windows重新启动。
步骤1:打开PowerShell作为管理员。
步骤2:执行以下命令:
taskkill.exe /S \RemotePC /IM lsass.exe /F
用目标计算机的名称替换“远程EPEPC”。
警告:该方法应用作最后的手段,因为它强行终止了关键的窗口过程。如果不仔细使用,可能会导致数据丢失或系统不稳定。
这六种方法为系统管理员提供了一系列用于使用PowerShell远程重新启动Windows计算机的选项。选择最适合您的特定要求和网络配置的方法。请记住在受控环境中测试这些命令,然后再在生产环境中使用它们。