我正在寻找解决以下问题的方法:
我们有一个Windows服务器与一群人远程login工作的东西; 当我们需要升级服务器时,我们通过电子邮件和启animation面发出警告,要求在停机时间内不要login – 但是人们仍然login,经常会使我们的升级过程紊乱
这是我的问题 –
是否可以编写一个脚本(Powershell也许) – 我们的系统工程师在升级开始时运行,这将改变所有其他用户远程login(RDP)到这台服务器的权限/策略? 她需要保持对服务器的完全控制,而且她也是远程(RDP)
升级完成后,她将再次运行一个脚本,以恢复所有人的权限/策略,以便能够通过RDP在服务器上工作
谢谢!
使用terminal服务器排水模式 (在进入排水模式之前,closuresterminal服务器上的会话)。
维修后关掉。
https://blogs.msdn.microsoft.com/rds/2007/06/15/introducing-terminal-services-server-drain-mode/
编辑(4/27/2016)
(包括login限制)
另外,使用Active Directory中的login限制来限制用户何时可以login系统。 这样你可以为你的维护窗口设置login限制。 看到这个如何做到这一点: http : //ravingroo.com/267/active-directory-user-workstation-logon-restriction/
这将很容易编写脚本。
最好的办法是修改login时间与杀死会话。 修改login时间可以确保如果您遵循任何types的RDP Powershell命令来终止会话,在会话停止之后,不会允许某人login(甚至不会尝试重新login)。 考虑以下几点:薪资部门正急于在晚上7:05input时间input。 你在下午7:00开始做你的更新。 人力资源部门需要做的是在最后一秒他们匆匆做的事情。 你通过Powershell杀死他们的会话。 我可以向你保证,即使pipe理将会遍布你。
现在考虑以下几点:你发送一封电子邮件,说明“RDP会话将在下午6点50分停用维护,请完成所有工作,因为login将被禁用”如果有人没有及时做他们需要做的事情,尽职尽责,给他们足够的时间完成工作。 之后,login策略禁止访问,所以你不必担心1)终止任何人的进程2)是否其他人将login等我不会去与Powershell,WMI或任何其他手动创build/编辑login的GPO。 无论如何,这是一个变更pipe理问题,在最less使用的系统时间内应该发生最佳的变更。