强制通过身份验证的用户立即注销(紧急情况)


24

在Active Directory中,如果要阻止用户登录,则可以禁用其帐户或仅重置其密码。但是,如果您有一个已经登录到工作站的用户,并且需要阻止他们尽快访问任何资源-您该怎么做?我说的是一种紧急情况,即立即解雇工人,如果不立即将他们拒之门外,就有可能造成严重破坏。

几天前,我也遇到过类似的情况。起初我不确定该怎么做。阻止用户访问网络共享很容易,但这还不够。最终,我使用Stop-Computer -ComputerName <name> -ForcePowerShell cmdlet 关闭了目标计算机,就我而言,这解决了该问题。但是,在某些情况下,这可能不是最佳选择,例如,如果您要切断的用户已登录到多个工作站或提供重要服务的计算机上,而您无法将其关闭。

从所有工作站远程强制立即注销用户的最佳解决方案是什么?在Active Directory中甚至可能吗?


5
好问题,我对看到答案很感兴趣。但是,在这样的情况下,被解雇的员工从收到解雇消息到被护送出大楼,是否会在100%的时间内陪同人力资源?
EEAA 2014年

是的,肯定会的。但是,我对解决Active Directory方面的问题感兴趣:)
Erathiel 2014年

打电话给保安人员,让他们亲自去人员所在地并移走他们吗?如果它们不在您的网络之外,是否将其阻止在防火墙上?使用Powershell脚本杀死使用该用户帐户运行的所有计算机上的所有进程。
Zoredache 2014年

Answers:


20

最佳解决方案:保安人员护送人员离开...

第二好的解决方案:

  1. 首先,使用qwinsta检查会话号:QWINSTA / server:computername
  2. 写下会话ID。
  3. 然后使用注销命令:LOGOFF sessionID / server:computername。
C:\>qwinsta /?
Display information about Remote Desktop Sessions.

QUERY SESSION [sessionname | username | sessionid]
              [/SERVER:servername] [/MODE] [/FLOW] [/CONNECT] [/COUNTER] [/VM]

  sessionname         Identifies the session named sessionname.
  username            Identifies the session with user username.
  sessionid           Identifies the session with ID sessionid.
  /SERVER:servername  The server to be queried (default is current).
  /MODE               Display current line settings.
  /FLOW               Display current flow control settings.
  /CONNECT            Display current connect settings.
  /COUNTER            Display current Remote Desktop Services counters information.
  /VM                 Display information about sessions within virtual machines.


C:\>logoff /?
Terminates a session.

LOGOFF [sessionname | sessionid] [/SERVER:servername] [/V] [/VM]

  sessionname         The name of the session.
  sessionid           The ID of the session.
  /SERVER:servername  Specifies the Remote Desktop server containing the user
                      session to log off (default is current).
  /V                  Displays information about the actions performed.
  /VM                 Logs off a session on server or within virtual machine. The unique ID of the session needs to be specified.

我为此写了一个基本的批处理脚本。我也需要一些unixtools路径psexec

@ECHO OFF
:: Script to log a user off a remote machine
::
:: Param 1: The machine
:: Param 2: The username

psexec \\%1 qwinsta | grep %2 | sed 's/console//' | awk '{print $2}' > %tmp%\sessionid.txt
set /p sessionid=< %tmp%\sessionid.txt
del /q %tmp%\sessionid.txt
psexec \\%1 logoff %sessionid% /v

2
是否可以将这两个命令组合成一个自动化的批处理/ powershell文件?仅运行一个快速脚本以注销所有会话可能非常有用。
EtherDragon

1
是否可以获得用户连接的所有计算机的列表?
NothingsIm不可能

@NothingsImpossible-我发现这个问题的方法是查看我的文件服务器,因为用户已将个人资料重定向到服务器,所以我在那儿寻找开放文件共享会话。
ETL 2014年

@NothingsImpossible我倾向于使用psloggedon
BE77Y 2015年

5

并非完全基于AD,但是应该做您想要的。

禁用或过期帐户

import-module activedirectory
set-aduser -identity "username" -accountexperationdate "12:09 pm"

要么

set-aduser -identity "username" -enabled $false

然后将用户从其计算机注销

shutdown -m "\\computername" -l

注销用户的另一种方法是从管理命令提示符下使用内置的Windows实用程序

logoff 1 /SEVER:computername

这将从远程计算机注销会话ID 1。如果您不知道会话ID(默认值为1),则可以对远程计算机使用quser来查找它。


1
那将关闭计算机,而不是注销用户,这就是问题所在。
slybloty

2
请不要误会我的意思,但是您的回答恰恰是我所不想要的,我已经在我的问题中列出了所有内容:禁用/过期帐户或更改密码不会强制用户注销,而只是阻止他们登录而已。在OP中描述的情况下没有用。
Erathiel 2014年

3
shutdown默认情况下,该命令实际上不会关闭,但会注销用户
迈克尔·汉普顿

添加了另一种方法来注销用户,让我知道这是否更类似于您要查找的内容。编辑:没有看到ETL的答案,所以给了他+1,以击败我。
大卫五世

3
我工作时的策略通常是这样的:有人被称为“会议”(终止),而在会议上,该帐户被禁用,会话远程注销(所有台式机均已安装安全的VNC服务器)。
艾利·佩恩

4

您可以使用wmic远程锁定用户的会话:

1-首先,更改用户密码:

C:\> wmic /node:[IPaddr] /user:[Admin] /password:[password] process call
  create "net user [user] [NewPassword]"

2-然后,禁用帐户:

C:\> wmic /node:[IPaddr] /user:[Admin] /password:[password] process call
  create "net user [user] /active:no"

3-然后,断开用户会话:

C:\> wmic /node:[IPaddr] /user:[Admin] /password:[password] process call
  create "tsdiscon"

这具有附加值,因为您不会丢失当前的用户会话,因此,当您解锁工作站时,您将能够看到他在陪同下来之前是否在做讨厌的事情。

命令行功夫博客的所有学分。那里有一堆疯狂的与安全/取证相关的东西!

更新:前两个步骤是针对本地用户的,在活动目录环境中实际上更容易,在AD中禁用帐户并更改密码,然后针对恶意用户IP地址运行第3个命令。


不幸的是,该命令wmic..."tsdiscon" 仅适用于XP。在Vista +中,此命令无法断开控制台会话。
我说恢复莫妮卡

0

只需在用户属性中将登录时间更改为所有时间都拒绝登录即可。这将立即将他们注销,使其不再登录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.