Làm thế nào để Kiểm tra Ai đã Tạo Tài khoản Người dùng trong AD?

0
62
getting list of recently created accounts in the active directory

Trong bài viết này, chúng ta sẽ xem xét cách tìm ra ngày người dùng được tạo trong Active Directory; cách sử dụng PowerShell để lấy thông tin từ nhật ký sự kiện của bộ điều khiển miền về người đã tạo tài khoản người dùng và thời điểm người dùng đăng nhập vào miền lần cuối. Những tác vụ này thường xảy ra khi kiểm tra tài khoản người dùng trong Active Directory, tìm và xóa các đối tượng AD không hoạt động hoặc thu thập số liệu thống kê.

Nội dung:
  • Ngày tạo tài khoản người dùng AD
  • Tìm tài khoản Active Directory được tạo gần đây với PowerShell
  • Làm thế nào để tìm ra ai đã tạo tài khoản người dùng trong Active Directory?

Ngày tạo tài khoản người dùng AD

Bạn có thể lấy ngày tạo của bất kỳ đối tượng Active Directory nào (người dùng, máy tính hoặc nhóm) thông qua dsa.msc ) (hãy đảm bảo bật tùy chọn Tính năng nâng cao trong menu Xem).

  1. Tìm người dùng được yêu cầu trong cây ADUC theo cách thủ công hoặc bằng cách sử dụng chức năng tìm kiếm AD;
  2. Mở thuộc tính của người dùng và chọn tab Đối tượng;
  3. Ngày đối tượng được tạo trong Active Directory được chỉ định trong trường Đã tạo . ad user creation date

Cùng giá trị có thể thu được với xây dựng trong biên tập thuộc tính AD ( whenCreated thuộc tính).

whencreated attribute active directory

Ngoài ra, bạn có thể sử dụng lệnh ghép ngắn Get-ADUser từ mô-đun AD PowerShell để lấy ngày tạo tài khoản người dùng:

Get-ADUser a.brion –properties name,whencreated|select name,whencreated

Powershell: how to check Active Directory user account created date with get-aduser

Bạn có thể lấy thời điểm đăng nhập cuối cùng của người dùng để lĩnh vực sử dụng các thuộc tính lastLogon hoặc lastLogonTimpestamp. Nếu bạn muốn lấy lịch sử đăng nhập của người dùng bằng nhật ký bảo mật của bộ điều khiển miền, hãy sử dụng hướng dẫn sau.

Tìm tài khoản Active Directory được tạo gần đây với PowerShell

Với một tập lệnh PowerShell đơn giản, bạn có thể liệt kê các tài khoản người dùng được tạo gần đây trong Active Directory. Để làm điều này, sử dụng lệnh Get-ADUser để chọn tất cả người sử dụng và lọc chúng theo giá trị của thuộc tính người dùng whencreated. Ví dụ: tập lệnh PowerShell sau sẽ liệt kê những người dùng được tạo trong Active Directory trong 24 giờ qua:

$lastday = ((Get-Date).AddDays(-1))
$filename = Get-Date -Format yyyy.MM.dd
$exportcsv=”c:psnew_ad_users_” + $filename + “.csv”
Get-ADUser -filter {(whencreated -ge $lastday)} –properties whencreated | Select-Object Name, UserPrincipalName, SamAccountName, whencreated | Export-csv -path $exportcsv

Trong ví dụ này, danh sách các tài khoản AD được lưu vào một tệp với ngày hiện tại là tên của nó. Bạn có thể làm cho tập lệnh này chạy hàng ngày thông qua Trình lập lịch tác vụ của Windows. Do đó, các tệp chứa thông tin về ngày tạo tài khoản mới sẽ được lưu trong thư mục bạn đã chỉ định. Bạn có thể thêm bất kỳ thuộc tính nào khác của người dùng Active Directory vào báo cáo của mình (xem bài viết về cách sử dụng lệnh ghép ngắn Get-ADUser).

getting list of recently created accounts in the active directory

Làm thế nào để tìm ra ai đã tạo tài khoản người dùng trong Active Directory?

Nếu có nhiều quản trị viên trong miền Active Directory của bạn hoặc bạn đã ủy quyền quyền tạo và chỉnh sửa tài khoản người dùng cho những người dùng không phải quản trị viên khác (ví dụ: cho nhân viên nhân sự), bạn có thể quan tâm đến thông tin về tên của người dùng người đã tạo tài khoản cụ thể trong Active Directory. Thông tin này có thể được tìm thấy trong nhật ký bảo mật của bộ điều khiển miền Active Directory.

Khi bạn tạo người dùng mới trong miền, sự kiện có EventID 4720 từ nguồn Quản lý tài khoản người dùng sẽ xuất hiện trong nhật ký bảo mật của bộ điều khiển miền ( chỉ trên DC, nơi tài khoản đã được tạo ). Chính sách Quản lý tài khoản người dùng kiểm tra phải được bật trong GPO Bộ điều khiển miền mặc định.

Mô tả của sự kiện này chứa chuỗi: A user account was created . Trường Chủ đề chứa tài khoản mà tài khoản người dùng AD mới được tạo (được đánh dấu trong ảnh chụp màn hình bên dưới). Tên người dùng mới được chỉ định trong trường Tài khoản Mới .

Event ID 4720 - A user account was created.

Bạn cần thu thập 4720 sự kiện từ tất cả các bộ điều khiển miền. Bạn có thể nhận danh sách các DC bằng cách sử dụng lệnh ghép ngắn Get-ADDomainController. Sau đó, nó vẫn là để kiểm tra sự kiện 4720 trên mỗi người trong số họ và tạo một báo cáo kết quả. Tập lệnh để nhận tất cả các sự kiện tạo tài khoản từ nhật ký bộ điều khiển miền trong 24 giờ qua có thể giống như sau:

$Report = @()
$time = (get-date) - (new-timespan -hour 24)
$AllDCs = Get-ADDomainController -Filter *
ForEach($DC in $AllDCs)
{
Get-WinEvent -ComputerName $dc.Name -FilterHashtable @{LogName="Security";ID=4720;StartTime=$Time}| Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$CreatorUser = $event.Event.EventData.Data[4]."#text"
$NewUser = $event.Event.EventData.Data[0]."#text"
$objReport = [PSCustomObject]@{
User = $NewUser
Creator = $CreatorUser
DC = $event.Event.System.computer
CreationDate = $Time
}
}
$Report += $objReport
}
}
$Report

How to detect who created a user account in Active Directory via PowerShell script

Kết quả là bạn có một $Report chứa thông tin về ai đã tạo người dùng AD, khi nào và trên bộ điều khiển miền nào.

Bạn có thể xuất báo cáo sang tệp CSV:

$filename = Get-Date -Format yyyy.MM.dd
$exportcsv=”c:psad_users_creators” + $filename + “.csv”
$Report | Export-Csv $exportcsv -append -NoTypeInformation -Delimiter ","

Bạn có thể lưu thông tin về các sự kiện đã tìm thấy không phải vào tệp văn bản thuần túy trên DC, mà vào cơ sở dữ liệu bên ngoài. Ví dụ: bạn có thể ghi dữ liệu vào MySQL thông qua MySQL .NET Connector cho PowerShell hoặc Microsoft SQL Server. Một ví dụ được mô tả trong bài viết “Cách kiểm tra tệp / xóa thư mục trên Windows”?

Dịch từ: http://woshub.com/getting-ad-accounts-created-in-the-last-24-hours/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây