怎么利用PowerShell脚本批量管理远程主机的电源策略

星萱小哥_9467

星萱小哥_9467

2026-05-26

599人浏览

原创

可通过PowerShell远程执行WMI或PowerCfg命令批量配置电源计划,需先启用WinRM、放行防火墙端口5985/5986,并确保执行账户具有远程主机管理员权限。

可以通过powershell远程执行wmi或powercfg命令,批量配置目标主机的电源计划(如设为“高性能”或禁用睡眠),前提是目标主机已启用winrm、防火墙放行、且当前用户有管理员权限。

前提条件:确保远程管理环境就绪

批量操作前必须完成以下配置,否则脚本会连接失败:

  • 在所有目标主机上运行 Enable-PSRemoting -Force 启用PowerShell远程处理
  • 确保WinRM服务正在运行(Get-Service WinRM 返回状态为Running)
  • 目标主机防火墙需放行TCP 5985(HTTP)或5986(HTTPS),推荐用 winrm quickconfig 一键配置
  • 执行脚本的本地账户需对远程主机具有本地管理员权限;若跨域,建议使用受信凭据或CredSSP(需额外启用)

方法一:用Invoke-Command调用powercfg设置电源计划

PowerCfg是Windows原生命令,无需额外安装,适合快速切换预设计划(如“高性能”、“平衡”)。注意:需以管理员身份运行脚本,且远程会话默认无交互式桌面,但powercfg /s仍可生效。

示例脚本(将多台主机设为高性能计划):

$Computers = "PC01", "PC02", "SRV03"
$PlanGuid = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"  # 高性能计划GUID(可用 powercfg /list 获取)
<p>Invoke-Command -ComputerName $Computers -ScriptBlock {
powercfg /s $using:PlanGuid
Write-Host "电源计划已设为高性能:$env:COMPUTERNAME"
} -ErrorAction SilentlyContinue
</p>

提示:GUID可通过在任意一台Windows机器运行 powercfg /list 查看,带 * 号的是当前激活计划。

方法二:用WMI/CIM修改更底层的电源设置

若需精细控制(如禁用硬盘休眠、调整USB选择性暂停、设置唤醒定时器),WMI类 Win32_PowerPlan 和 Root\cimv2\power 下的设置更可靠。推荐使用 CimSession 替代旧版WMI,兼容性更好、支持TLS加密。

GenStore
GenStore

一款AI开发辅助工具,主要用于AI对话生成在线商店,一个平台满足所有电商需求,适合需要提升相关任务效率的用户。

下载

示例:批量禁用“USB选择性暂停”(常用于防止外设断连):

$Computers = "PC01", "PC02"
$Sessions = New-CimSession -ComputerName $Computers -ErrorAction Stop
<p>foreach ($session in $Sessions) {
$Plan = Get-CimInstance -CimSession $session -ClassName Win32_PowerPlan | Where-Object IsActive -EQ $true
$SubGroup = Get-CimInstance -CimSession $session -ClassName Win32<em>PowerSettingSubgroup | 
Where-Object { $</em>.ElementName -eq "USB settings" }</p><pre class="brush:php;toolbar:false;">if ($SubGroup) {
    $UsbSetting = Get-CimInstance -CimSession $session -ClassName Win32_PowerSetting |
                  Where-Object { $_.InstanceID -match "SUBGROUP_USB.*USB_SELECTIVE_SUSPEND" }
    if ($UsbSetting) {
        Invoke-CimMethod -CimSession $session -ClassName Win32_PowerSetting -MethodName SetPowerSettingValue -Arguments @{
            PowerSettingId = $UsbSetting.InstanceID
            PowerPlanId    = $Plan.InstanceID
            Value          = 0  # 0=禁用,1=启用
        } | Out-Null
        Write-Host "已禁用USB选择性暂停:$($session.ComputerName)"
    }
}

} Remove-CimSession -CimSession $Sessions

增强实用性:加入错误捕获与结果汇总

生产环境中建议封装成函数,并记录成功/失败主机。例如:

function Set-RemotePowerPlan {
    param([string[]]$ComputerName, [string]$PlanGuid)
    $results = @()
    foreach ($comp in $ComputerName) {
        $status = try {
            Invoke-Command -ComputerName $comp -ScriptBlock {
                powercfg /s $using:PlanGuid 2>&1 | Out-Null
                return "Success"
            } -ErrorAction Stop
            "Success"
        } catch {
            "Failed: $($_.Exception.Message.Substring(0, [Math]::Min(80,$_.Exception.Message.Length)))"
        }
        $results += [pscustomobject]@{ Computer = $comp; Status = $status }
    }
    return $results
}
<h1>调用并导出报表</h1><p>Set-RemotePowerPlan -ComputerName @("PC01","PC02") -PlanGuid "8c5e7fda..." | Export-Csv .\PowerPlanReport.csv -NoTypeInformation
</p>

这样既能快速定位异常节点,又便于审计和后续跟进。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3452

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1116

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

1009

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

534

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3176

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5992

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

927

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚观shell视频教程
尚观shell视频教程

共8课时 | 1.9万人学习

Linux开发视频教程
Linux开发视频教程

共18课时 | 4.7万人学习

Perl 入门教程
Perl 入门教程

共29课时 | 31.5万人学习