如何获取 EC2 Windows 实例 AWS 上的用户数

How to get user count on a EC2 Windows Instance AWS

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

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

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

您可以使用远程桌面服务 API/SDK 或 PowerShell cmdlet (Get-RDUserSession) to determine the count of active RDP sessions. There's also, allegedly, a more sophisticated cross-server PowerShell script.

要在 Windows 个实例上远程调用 PowerShell 脚本,您可以使用 SSM 运行 命令。这是使用 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 实例需要提前设置以支持此功能,因此请参阅此 tutorial。它可能以 Linux 为导向,但希望这能让您朝着正确的方向开始。