You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量停止多台AWS Windows服务器上的IIS以进行维护

批量停止多台AWS EC2 Windows服务器IIS的方法

方案1:AWS Systems Manager Run Command(推荐)

这是AWS原生的批量管理工具,无需开放RDP/WinRM端口,安全性更高:

  • 确认所有目标EC2实例已安装SSM Agent(Windows Server 2016及以上默认预装,自定义镜像需手动安装)
  • 为实例附加IAM角色,权限需包含ssm:SendCommand、ssm:ListCommands等,最简配置可直接使用AmazonSSMFullAccess托管策略
  • 登录AWS控制台,进入Systems Manager > Run Command,选择文档AWS-RunPowerShellScript
  • 在命令输入框中填入停止IIS的PowerShell命令:
    Stop-Service -Name W3SVC -Force
    
  • 选择目标实例:可手动勾选,或通过标签筛选(建议给所有Web服务器统一添加标签如Env:Production、Role:WebServer,方便批量选择)
  • 点击执行,可实时查看每台实例的命令执行状态和结果

方案2:PowerShell远程执行(适合已有WinRM配置的环境)

如果已经配置了WinRM远程管理,可直接用本地PowerShell批量操作:

  • 确保EC2安全组开放WinRM端口(建议用5986 HTTPS,避免明文传输),并配置实例的WinRM服务允许远程连接
  • 在本地PowerShell中定义目标实例IP列表:
    $targetInstances = @("192.168.1.10", "192.168.1.11", "192.168.1.12")
    
  • 添加远程主机到信任列表(生产环境建议用证书验证,以下为测试/内网环境简化配置):
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value $targetInstances -Concatenate
    
  • 批量执行停止IIS命令:
    Invoke-Command -ComputerName $targetInstances -ScriptBlock { Stop-Service -Name W3SVC -Force } -Credential (Get-Credential)
    
  • 说明:若所有实例使用统一管理员账号,可提前存储凭证避免重复输入

方案3:自动化定期执行(适合每周固定维护任务)

结合Lambda和EventBridge实现每周自动批量停止IIS:

  • 创建Lambda函数(推荐用Python或PowerShell运行时),核心逻辑:
    1. 通过EC2 API筛选带指定标签的目标实例
    2. 调用SSM SendCommand接口,发送停止IIS的PowerShell命令
  • 为Lambda配置IAM角色,权限需包含ec2:DescribeInstances、ssm:SendCommand、ssm:GetCommandInvocation等
  • 配置EventBridge规则,设置每周固定触发时间(如每周日凌晨2点),触发Lambda函数执行

内容的提问来源于stack exchange,提问作者SVaidya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:17:43