这已经不是一个新的问题了:终端用户通过远程桌面协议登录到一台Windows服务器后忘记退出,然后继续消耗服务器上的资源。这时,你可以使用PowerShell脚本来强制终端用户注销并释放这些资源。 为了强迫用户注销远程桌面协议(RDP)会话,管理员必须首先了解该服务器上所有远程桌面服务(RDS)服务器会话,并查看它们的状态。检测所有服务均断开连接后,下一步才是强制下线。
下载免费的PowerShell模块PSTerminalServices,并确保在你的PowerShell环境中可以使用。所有的安装说明都可在PSTerminalServices站点获得。 第一步,我要用这个模块来检查是否能得到实……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
这已经不是一个新的问题了:终端用户通过远程桌面协议登录到一台Windows服务器后忘记退出,然后继续消耗服务器上的资源。这时,你可以使用PowerShell脚本来强制终端用户注销并释放这些资源。
为了强迫用户注销远程桌面协议(RDP)会话,管理员必须首先了解该服务器上所有远程桌面服务(RDS)服务器会话,并查看它们的状态。检测所有服务均断开连接后,下一步才是强制下线。
下载免费的PowerShell模块PSTerminalServices,并确保在你的PowerShell环境中可以使用。所有的安装说明都可在PSTerminalServices站点获得。
第一步,我要用这个模块来检查是否能得到实验室服务器HYPERV上的所有会话活动(图1)。
图1. Get-TSSession -ComputerName HYPERV
目前,我只有几个会话处于断开状态。所以,我可以看到所有的会话,但是我只是想看到那些断开连接的。要做到这一点,我将添加State参数(图2)。
图2. Get-TSSession -ComputerName HYPERV -State Disconnected
这个方法很有用,但是仍然有一个问题。会话0不是一个RDP会话,无法用Get-TSSession将其从结果列表中删除。这时,我会使用Where-Object来删除该会话(图3)。
图3. Get-TSSession -ComputerName HYPERV -State Disconnected | where { $_.SessionID -ne 0 }
现在,我可以看到所有想停止的会话。接下来,我只需要杀死这些会话。要做到这一点,你要知道PSTerminalServices模块提供了Stop-TSSession cmdlet,可以帮你杀死会话(图4)。
图4. Get-TSSession -ComputerName HYPERV -State Disconnected | where {$_.SessionID -ne 0} | Stop-TSSession
Stop-TSSession cmdlet结束会话后可能会导致最终用户丢失工作内容,因此会提示管理员。这里我可以点击“A”继续下一步,但有时管理员不喜欢弹出提示信息。如果你将这些放在一个更大的脚本中,提示将中断脚本。最好的办法是省略提示。
Stop-TSSession cmdlet有一个通用的PowerShell参数,叫做–Force,它允许管理员执行操作时没有任何确认信息打扰。
Get-TSSession -ComputerName HYPERV -State Disconnected | where {$_.SessionID -ne 0} | Stop-TSSession -Force
如果没有输出,说明会话已成功注销。
相关推荐
-
巧用PowerShell参数防止操作失误
使用PowerShell自动化操作可以帮助你节省大量的时间——或产生问题。幸运的是,巧用PowerShell参数可以防止发生更改脚本意外。
-
免遭勒索软件侵害必备技能之:两种方式解除恶意密码加密
本文为第二部分,更多专家将介绍防止Windows用户数据被恶意加密的两种方式以及企业级PowerShell环境对勒索软件产生的影响。
-
PowerShell脚本授权最佳实践
只有当具有合适的权限时,PowerShell脚本才能运行,管理员需要对脚本进行授权,使其具备正确的权限。
-
什么?你的管理员还不了解PowerShell常量和只读变量!
程序语言中的变量通常是为某值预留的存放位置。对于PowerShell变量的子集被称为常量和只读变量。管理员应该对PowerShell常量和只读变量有所了解。