วิธีปิดการใช้งานบัญชีผู้ใช้ที่ไม่ได้ใช้งานโดยใช้ PowerShell
บัญชีผู้ใช้ Active Directory (AD) ที่ไม่ใช้งานอาจก่อให้เกิดความเสี่ยงด้านความปลอดภัยต่อองค์กรได้ ในสถานการณ์ เช่น เมื่ออดีตพนักงานยังคงมีบัญชีที่ใช้งานอยู่หลายเดือนหลังจากออกจากบริษัท เนื่องจาก HR ไม่สามารถแจ้งฝ่ายไอทีได้ หรือบัญชีอาจถูกสร้างขึ้นเพื่อวัตถุประสงค์เฉพาะแต่ไม่เคย ลบออกหลังเหตุการณ์ ไม่ว่าเหตุผลของการมีอยู่ของบัญชีดังกล่าวจะเป็นอย่างไร Active Directory ก็หลุดออกจากการควบคุมได้อย่างรวดเร็ว ส่งผลให้ระบบของคุณตรวจสอบได้ยากขึ้นและมีความปลอดภัยน้อยลง
โมดูล Active Directory สำหรับ PowerShell
โมดูล PowerShell สำหรับ Active Directory ช่วยให้ผู้ดูแลระบบสามารถสืบค้น Active Directory และสร้างรายงานโดยใช้ข้อมูลที่ได้ โมดูล AD สำหรับ PowerShell ได้รับการติดตั้งตามค่าเริ่มต้นบนตัวควบคุมโดเมน Windows Server 2012 หรือคุณสามารถดาวน์โหลด Remote Server Administration Tools (RSAT) สำหรับ Windows 8.1 และติดตั้งโมดูลโดยใช้คำสั่งด้านล่าง
เข้าสู่ระบบในฐานะผู้ดูแลระบบท้องถิ่น เปิดพรอมต์ PowerShell พิมพ์รหัสด้านล่างแล้วกด ENTER เพื่อติดตั้งโมดูล AD สำหรับ PowerShell:
Install-WindowsFeature RSAT-AD-PowerShellค้นหา Active Directory สำหรับบัญชีที่ไม่ใช้งาน
Search-ADAccount cmdlet มอบวิธีง่ายๆ ในการค้นหา Active Directory สำหรับบัญชีผู้ใช้ที่ไม่ได้ใช้งาน:
Search-ADAccount –UsersOnly –AccountInactive
คำสั่งดังกล่าวส่งคืนบัญชีที่ไม่ได้ใช้งานทั้งหมด หากต้องการจำกัดผลลัพธ์ให้แคบลงในช่วงเวลาที่ต้องการ คุณสามารถเพิ่มพารามิเตอร์ -TimeSpanลงใน Search-ADAccount ในตัวอย่างด้านล่าง ตัวแปรจะกำหนดค่าสำหรับพารามิเตอร์ -TimeSpan โดยใช้ cmdlet New-Timespan เพื่อทำให้อินพุตง่ายขึ้น:
$timespan = New-Timespan –Days 90
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespanหรือคุณสามารถระบุพารามิเตอร์ -DateTime เพื่อส่งคืนบัญชีที่ไม่ได้ใช้งานตั้งแต่วันที่ที่กำหนด ในคำสั่งต่อไปนี้ บัญชีที่ไม่ได้ใช้งานตั้งแต่วันที่ 5 พฤษภาคมth 2014 จะถูกส่งคืน:
Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’หากต้องการรับข้อมูลที่เป็นมิตรกับผู้ใช้มากขึ้นเกี่ยวกับบัญชี ให้ส่งผลลัพธ์ไปที่ Get-ADUser cmdlet จากนั้นเลือกคอลัมน์ที่จะแสดงในเอาต์พุตโดยใช้ Select:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedNameผลลัพธ์ยังสามารถจัดเรียงตามฟิลด์ที่ระบุได้ ในตัวอย่างนี้ตามแอตทริบิวต์ LastLogOnDate ซึ่งได้มาจาก LastLogonTimestamp และแปลงเป็นรูปแบบที่อ่านได้:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedNameเป็นที่น่าสังเกตว่า LastLogonTimestamp ต่างจากแอตทริบิวต์ LastLogOn ตรงที่ LastLogonTimestamp ได้รับการซิงโครไนซ์ระหว่างตัวควบคุมโดเมน แต่อาจล้าสมัยได้ 9 ถึง 14 วัน ดังนั้น คุณควรคำนึงถึงสิ่งนี้ เมื่อประมวลผลผลลัพธ์ของคุณ
อีกวิธีหนึ่งในการลดความซับซ้อนของเอาต์พุตและนับจำนวนผู้ใช้ที่ไม่ได้ใช้งานคือการส่งผลลัพธ์ไปที่ Measure cmdlet:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measureเช่นเดียวกับ PowerShell cmdlets อื่นๆ ผลลัพธ์สามารถไปป์ไปยัง Out-GridView หรือไปยังไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค เพื่อให้สามารถนำเข้าผลลัพธ์ไปยัง Excel ได้
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridViewปิดการใช้งานบัญชีที่ไม่ใช้งาน
เมื่อคุณได้รับชุดผลลัพธ์ที่ต้องการแล้ว สิ่งที่คุณต้องทำคือส่งไปที่ Disable-ADAccount cmdlet ดังที่แสดงไว้ที่นี่เพื่อปิดใช้งานบัญชี:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccountNetwrix Auditor มีความสามารถในการตรวจจับและปิดใช้งานบัญชีผู้ใช้ที่ไม่ได้ใช้งานใน Windows เวอร์ชันที่รองรับทั้งหมด และผลลัพธ์ที่ได้จะรวมอยู่ในฐานข้อมูล คุณสมบัติการรายงานและการแจ้งเตือนของผลิตภัณฑ์ ดังนั้นจึงไม่จำเป็นต้องเรียกใช้และบำรุงรักษาสคริปต์เพิ่มเติมแยกต่างหาก ผู้ตรวจสอบ Netwrix สามารถปิดใช้งานบัญชีที่ไม่ได้ใช้งาน ตั้งรหัสผ่านแบบสุ่ม ย้ายบัญชีไปยังหน่วยองค์กรที่กำหนด (OU) หรือลบบัญชีได้
ถึงเวลาแสดงความคิดเห็นของคุณในแบบสำรวจด้านล่างแล้ว โปรดทราบว่ามีคำตอบที่ถูกต้องเพียงคำตอบเดียวเท่านั้น!

