วิธีดู Session ผู้ใช้งานบน Windows Server 2022 แบบเรียลไทม์
การตรวจสอบ Session ผู้ใช้งานบน Windows Server 2022 เป็นงานสำคัญของผู้ดูแลระบบ โดยเฉพาะในสภาพแวดล้อมที่ใช้ File Server, Remote Desktop Services (RDS), Shared Folder และ Active Directory
หากทราบว่าใครกำลังเชื่อมต่ออยู่ ใช้งานจากเครื่องใด และเปิดไฟล์อะไรอยู่ จะช่วยให้แก้ปัญหาได้รวดเร็วขึ้น ลด Downtime และเพิ่มความปลอดภัยให้กับระบบ
บทความนี้จะแนะนำทุกวิธีในการดู Session ผู้ใช้งานแบบเรียลไทม์บน Windows Server 2022
Session ผู้ใช้งานคืออะไร
Session คือการเชื่อมต่อของผู้ใช้เข้ามายัง Server
ตัวอย่าง
เปิด Shared Folder
เชื่อมต่อ SMB
Remote Desktop
เข้าถึง File Server
ใช้งาน Application Server
ทุกการเชื่อมต่อจะถูกบันทึกเป็น Session
ทำไมต้องตรวจสอบ Session
ประโยชน์ที่ได้รับ
ตรวจสอบผู้ใช้งานปัจจุบัน
ตรวจสอบเครื่องที่เชื่อมต่อ
แก้ปัญหาไฟล์ถูกล็อก
ตรวจสอบการเข้าถึงผิดปกติ
เพิ่มความปลอดภัย
วิเคราะห์การใช้งาน Server
ทีมงาน comsiam มักตรวจสอบ Session ทุกครั้งเมื่อเกิดปัญหา File Server หรือมีผู้ใช้แจ้งว่าเข้าใช้งานไฟล์ไม่ได้
วิธีที่ 1 ดู Session ผ่าน Computer Management
เปิด
Computer Management
เลือก
System Tools
↓
Shared Folders
↓
Sessions
จะเห็นรายการ
User
Computer
Connected Time
Idle Time
Open Files
ตัวอย่าง
john
PC-SALES01
mary
PC-HR01
ข้อมูลที่แสดงใน Session
ตัวอย่าง
User
Computer
Open Files
Connected Time
Idle Time
ช่วยให้ผู้ดูแลระบบเห็นภาพรวมของการใช้งานทันที
วิธีที่ 2 ใช้ PowerShell
รัน
Get-SmbSession
ผลลัพธ์
ClientComputerName
ClientUserName
NumOpens
ConnectedTime
เป็นวิธีที่นิยมที่สุดในปัจจุบัน
ตัวอย่างผลลัพธ์
ClientUserName : john
ClientComputerName : PC-SALES01
NumOpens : 12
แสดงว่าผู้ใช้กำลังเปิดไฟล์อยู่ 12 รายการ
ดู Session เฉพาะผู้ใช้
ตัวอย่าง
Get-SmbSession | Where-Object {$_.ClientUserName -eq "john"}
ช่วยค้นหา Session ได้รวดเร็ว
ดู Session จากเครื่อง Client เฉพาะเครื่อง
ตัวอย่าง
Get-SmbSession | Where-Object {$_.ClientComputerName -eq "PC-SALES01"}
เหมาะสำหรับการตรวจสอบเครื่องที่มีปัญหา
วิธีที่ 3 ดูไฟล์ที่เปิดอยู่ร่วมกับ Session
รัน
Get-SmbOpenFile
จะเห็น
File Name
User
Session
Path
ช่วยเชื่อมโยงผู้ใช้กับไฟล์ที่กำลังใช้งาน
วิธีที่ 4 ดูผ่าน Command Prompt
รัน
net session
ผลลัพธ์
Computer
User Name
Connected Time
เหมาะสำหรับการตรวจสอบแบบรวดเร็ว
ดูจำนวน Session ทั้งหมด
PowerShell
(Get-SmbSession).Count
ผลลัพธ์
25
หมายถึงมี 25 Session กำลังเชื่อมต่ออยู่
ตรวจสอบ Session ที่ไม่ได้ใช้งาน
ดูค่า
IdleTime
หากมีค่าสูงมาก
อาจเป็น Session ค้าง
ตัวอย่าง
IdleTime : 7.00:00:00
หมายถึงไม่มีการใช้งานมา 7 วัน
ปิด Session ผ่าน GUI
เปิด
Shared Folders
↓
Sessions
คลิกขวา Session
เลือก
Close Session
ระบบจะตัดการเชื่อมต่อทันที
ปิด Session ผ่าน PowerShell
ดู Session
Get-SmbSession
ปิด Session
Close-SmbSession -SessionId 15
ใช้เมื่อมี Session ค้างหรือเชื่อมต่อผิดปกติ
ใช้ Event Viewer ตรวจสอบย้อนหลัง
เปิด
Event Viewer
↓
Security
หากเปิด Audit Log ไว้
จะสามารถดูได้ว่า
ใคร Login
ใคร Logout
เชื่อมต่อจากเครื่องใด
เวลาใด
ตรวจสอบการเชื่อมต่อผิดปกติ
สิ่งที่ควรสังเกต
Login นอกเวลางาน
Session จำนวนมากผิดปกติ
เครื่องที่ไม่รู้จัก
User ที่ไม่ควรใช้งาน
ช่วยลดความเสี่ยงด้านความปลอดภัยได้มาก
ปัญหาที่พบบ่อย
Session ค้างจำนวนมาก
ตรวจสอบ
Get-SmbSession
และปิด Session ที่ไม่ใช้งาน
User Logout แล้ว Session ยังอยู่
มักเกิดจาก
Network หลุด
โปรแกรมค้าง
เครื่องปิดไม่สมบูรณ์
File Lock ไม่หาย
ตรวจสอบ
Get-SmbOpenFile
ร่วมกับ
Get-SmbSession
เสมอ
แนวทางความปลอดภัยที่แนะนำ
① ตรวจสอบ Session ทุกวัน
② เปิด Audit Log
③ เปิด Shadow Copy
④ ใช้ Active Directory
⑤ ปิด Session ค้างเป็นประจำ
⑥ ตรวจสอบ Login ผิดปกติ
⑦ สำรองข้อมูลทุกวัน
ทีมงาน comsiam แนะนำให้ใช้ PowerShell เป็นเครื่องมือหลักในการตรวจสอบ Session เพราะรวดเร็วและสามารถนำไปทำ Automation ได้ในอนาคต
Best Practices สำหรับ Windows Server 2022
ใช้ Get-SmbSession เป็นประจำ
ตรวจสอบ Session ค้าง
ตรวจสอบ Idle Time
เปิด Audit Log
ใช้ Active Directory
เปิด Shadow Copy
ตรวจสอบ Open Files ควบคู่กัน
สรุป
การตรวจสอบ Session ผู้ใช้งานบน Windows Server 2022 ช่วยให้ผู้ดูแลระบบมองเห็นภาพรวมของการใช้งาน File Server ได้แบบเรียลไทม์ สามารถตรวจสอบผู้ใช้ เครื่องที่เชื่อมต่อ และจำนวนไฟล์ที่เปิดอยู่ได้อย่างละเอียด
การใช้ Get-SmbSession ร่วมกับ Get-SmbOpenFile และ Audit Log จะช่วยให้การบริหารจัดการ File Server มีประสิทธิภาพมากขึ้น ลดปัญหา Session ค้าง และเพิ่มความปลอดภัยให้กับองค์กรในระยะยาว