首页 > 解决方案 > 如何获取 EC2 Windows 实例 AWS 上的用户数

问题描述

我正在尝试将一些 AWS 功能合并到我的 JSF 应用程序中。我有多个运行 windows 服务器的 EC2 实例,我想知道每个实例连接了多少 windows 用户,以及他们是否正在积极使用系统。

该信息将进一步用于动态创建和终止实例。我尝试过使用 ELB,但没有衡量连接的用户数量以及它们是否处于活动状态的指标。

由于某些应用程序限制,目前我正在使用 Java AWS SDK 1.11.657。鉴于我有我的实例列表以及创建和终止它们的权力,我将如何查找连接到每个实例的用户数量?没有使用 Java SDK 在线找到任何东西。谢谢你。

标签: javaamazon-web-servicesamazon-ec2aws-sdk

解决方案


您可以使用远程桌面服务 API/SDK 或 PowerShell cmdlet ( Get-RDUserSession ) 来确定活动 RDP 会话的计数。据称,还有一个更复杂的跨服务器 PowerShell 脚本

要在 Windows 实例上远程调用 PowerShell 脚本,您可以使用 SSM Run Command。这是使用awscli执行此操作的示例:

aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --comment "List Windows services" \
    --instance-ids "i-1234567890,i-0987654321" \
    --parameters commands="service --status-all" \
    --output text

请注意,您的 Windows 实例需要提前设置以支持此功能,因此请参阅本教程。它可能是面向 Linux 的,但希望这能让您朝着正确的方向开始。


推荐阅读