我正在尝试将一些 AWS 功能合并到我的 JSF 应用程序中。我有多个运行 Windows 服务器的 EC2 实例,我想知道有多少 Windows 用户连接到每个实例以及他们是否正在积极使用该系统。
该信息将进一步用于动态创建和终止实例。我尝试过使用 ELB,但没有衡量连接用户数量以及用户是否处于 Activity 状态的指标。
由于某些应用程序限制,目前我正在使用 Java AWS SDK 1.11.657。鉴于我有实例列表以及创建和终止它们的权力,我将如何查找连接到每个实例的用户数量?网上没有找到任何使用Java SDK的东西。谢谢。
最佳答案
您可以使用远程桌面服务 API/SDK 或 PowerShell cmdlet ( Get-RDUserSession ) 来确定 Activity RDP session 的计数。据称,还有一个更复杂的 cross-server PowerShell script 。
要在 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 实例需要提前设置以支持此功能,因此请参阅此 tutorial 。它可能是面向 Linux 的,但希望这能让您朝着正确的方向开始。
关于java - 如何获取 EC2 Windows 实例 AWS 上的用户计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609520/