บังคับให้ผู้ใช้รับรองความถูกต้องออกจากระบบทันที (กรณีฉุกเฉิน)


24

ใน Active Directory หากคุณต้องการป้องกันไม่ให้ผู้ใช้เข้าสู่ระบบคุณสามารถปิดการใช้งานบัญชีของพวกเขาหรือเพียงแค่รีเซ็ตรหัสผ่านของพวกเขา อย่างไรก็ตามหากคุณมีผู้ใช้ที่ล็อกอินเข้าสู่เวิร์กสเตชันแล้วและคุณต้องป้องกันไม่ให้ผู้ใช้เข้าถึงทรัพยากรใด ๆ โดยเร็วที่สุดเท่าที่จะทำได้ - คุณจะทำอย่างไร? ฉันพูดถึงสถานการณ์ฉุกเฉินที่คนงานถูกไล่ออกโดยมีผลทันทีและมีความเสี่ยงที่จะเกิดความเสียหายหากพวกเขาไม่ได้ถูกล็อคออกจากเครือข่ายทันที

ไม่กี่วันที่ผ่านมาฉันต้องเผชิญกับคดีที่คล้ายกัน ตอนแรกฉันไม่แน่ใจว่าจะลงมือทำอะไร การป้องกันไม่ให้ผู้ใช้เข้าถึงเครือข่ายแชร์นั้นง่าย แต่ก็ไม่เพียงพอ ในที่สุดฉันปิดคอมพิวเตอร์เป้าหมายด้วยStop-Computer -ComputerName <name> -ForcePowerShell cmdlet และในกรณีของฉันก็สามารถแก้ไขปัญหาได้ อย่างไรก็ตามในบางกรณีนี่อาจไม่ใช่ตัวเลือกที่ดีที่สุดถ้าผู้ใช้ที่คุณต้องการตัดออกจะถูกล็อกอินในเวิร์กสเตชันหลายเครื่องหรือบนคอมพิวเตอร์ที่ให้บริการที่สำคัญและคุณไม่สามารถปิดได้

อะไรคือทางออกที่ดีที่สุดในการบังคับให้ผู้ใช้ออกจากระบบทันทีจากเวิร์กสเตชันทั้งหมด? เป็นไปได้มากใน Active Directory หรือไม่


5
เป็นคำถามที่ดีและฉันสนใจที่จะเห็นคำตอบ อย่างไรก็ตามในสถานการณ์เช่นนี้พนักงานที่ถูกเลิกจ้างจะไม่ได้ทำงานกับฝ่ายทรัพยากรบุคคลคุ้มกัน 100% จากเวลาที่พวกเขาได้รับข่าวการเลิกจ้างจนกว่าพวกเขาจะถูกพาออกจากอาคาร?
EEAA

ใช่แน่ใจว่าพวกเขาควรจะเป็น อย่างไรก็ตามฉันสนใจที่จะแก้ไขปัญหานี้ Active Directory-wise :)
Erathiel

โทรปลอดภัยและให้พวกเขาไปที่ตำแหน่งของบุคคลและลบออก? หากพวกเขาอยู่นอกเครือข่ายของคุณปิดกั้นพวกเขาในไฟร์วอลล์ของคุณ? ใช้สคริปต์ powershell ของคุณเพื่อฆ่ากระบวนการใด ๆ ในคอมพิวเตอร์ทุกเครื่องของคุณที่ทำงานด้วยบัญชีผู้ใช้นั้น
Zoredache

คำตอบ:


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.

ฉันเขียนสคริปต์ชุดพื้นฐานสำหรับสิ่งนั้น ฉันต้องมีบางอย่างในเส้นทางเช่นเดียวกับunixtoolspsexec

@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
เป็นไปได้หรือไม่ที่จะรวมคำสั่งทั้งสองนี้ไว้ในไฟล์ batch / powershell อัตโนมัติ? มันอาจมีประโยชน์มากในการเรียกใช้สคริปต์อย่างรวดเร็วเพื่อออกจากระบบเซสชันทั้งหมด
EtherDragon

1
เป็นไปได้หรือไม่ที่จะได้รับรายชื่อคอมพิวเตอร์ทั้งหมดที่ผู้ใช้เชื่อมต่ออยู่
NothingsImpossible

@NothingsImpossible - วิธีที่ฉันค้นพบนี้คือการดูที่ไฟล์เซิร์ฟเวอร์ของฉันเนื่องจากผู้ใช้มีการเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์ฉันดูที่นั่นสำหรับการแชร์ไฟล์แบบเปิด
ETL

@NothingsImpossible ฉันมักจะประสบความสำเร็จในการใช้psloggedon
BE77Y

5

ไม่ใช่โฆษณาตามทั้งหมด แต่ควรทำในสิ่งที่คุณต้องการ

ปิดการใช้งานหรือบัญชีหมดอายุ

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 จากคอมพิวเตอร์ระยะไกล หากคุณไม่ทราบรหัสเซสชัน (1 เป็นค่าเริ่มต้น) คุณสามารถใช้ quser กับเครื่องระยะไกลเพื่อค้นหาได้


1
ที่จะปิดเครื่องไม่ออกจากระบบผู้ใช้คิดว่าเป็นคำถามอะไร
slybloty

2
โปรดอย่าเข้าใจฉันผิด แต่คำตอบของคุณคือสิ่งที่ฉันไม่ต้องการและฉันได้รวมทุกอย่างไว้ในคำถามของฉัน: การปิดใช้งาน / การหมดอายุบัญชีหรือการเปลี่ยนรหัสผ่านไม่ได้บังคับให้ผู้ใช้ออกจากระบบ ไม่มีประโยชน์ในกรณีที่อธิบายไว้ใน OP
Erathiel

3
shutdownคำสั่งโดยค่าเริ่มต้นไม่จริงปิดตัวลง แต่บันทึกการปิดการใช้
Michael Hampton

เพิ่มวิธีอื่นในการออกจากระบบผู้ใช้แจ้งให้เราทราบว่านี่เป็นสิ่งที่คล้ายกับสิ่งที่คุณกำลังมองหา แก้ไข: ไม่เห็นคำตอบของ ETL ดังนั้นให้ +1 เขาเพื่อตีฉันต่อย
David V

3
โดยทั่วไปแล้วนโยบายในที่ทำงานของฉันจะเป็นดังนี้: บุคคลถูกเรียกว่า "การประชุม" (การเลิกจ้าง) ในขณะที่การประชุมบัญชีถูกปิดใช้งานและการออกจากระบบจากระยะไกล (เดสก์ท็อปทั้งหมดติดตั้งเซิร์ฟเวอร์ VNC ที่ปลอดภัย)
Avery Payne

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"

นี่เป็นมูลค่าเพิ่มเนื่องจากคุณจะไม่สูญเสียเซสชันผู้ใช้ปัจจุบันและเมื่อคุณปลดล็อกเวิร์กสเตชันคุณจะสามารถดูว่าเขากำลังพยายามทำสิ่งที่น่ารังเกียจก่อนที่จะพาไปที่ประตูหรือไม่

เครดิตทั้งหมดในบรรทัดคำสั่ง Kung Fu บล็อก มีหลายสิ่งที่เกี่ยวข้องกับความปลอดภัย / นิติเวชที่บ้าคลั่งอยู่ในนั้น!

อัปเดต: สองขั้นตอนแรกมีไว้สำหรับผู้ใช้ท้องถิ่นในสภาพแวดล้อมของไดเรกทอรีที่ใช้งานง่ายกว่าจริงปิดการใช้งานบัญชีและเปลี่ยนรหัสผ่านในโฆษณาแล้วเรียกใช้คำสั่งที่ 3 กับที่อยู่ IP ของผู้ใช้ที่เป็นอันตราย


น่าเสียดายที่คำสั่งwmic..."tsdiscon" ใช้งานได้กับ XPเท่านั้น ใน Vista + คำสั่งนี้ไม่สามารถตัดการเชื่อมต่อเซสชันคอนโซลได้
ฉันพูดว่า Reinstate Monica

0

เพียงเปลี่ยนชั่วโมงการเข้าสู่ระบบเป็นการปฏิเสธการเข้าสู่ระบบทุกชั่วโมงในคุณสมบัติผู้ใช้ ซึ่งจะนำพวกเขาออกจากที่ที่พวกเขาลงชื่อเข้าใช้ทันที

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.