Làm cách nào để xác định tên hồ sơ người dùng (bản gốc) từ tên tài khoản người dùng đã thay đổi trong Windows?


8

Trên Windows, tên tài khoản người dùng sẽ khác với tên hồ sơ người dùng sau khi được thay đổi từ Bảng điều khiển.

Làm cách nào để tìm tên hồ sơ người dùng gốc từ tên tài khoản người dùng đã thay đổi?

Câu trả lời:


6

Có hai thuộc tính "tên" của mỗi tài khoản, vì vậy hãy để tôi làm rõ mọi thứ một chút để chúng ta không bị nhầm lẫn. Một là tên tài khoản SAM (Trình quản lý tài khoản bảo mật), xuất hiện trong đầu ra của net user. Đây là tên của tài khoản khi có liên quan đến các thành phần hệ điều hành cấp thấp. Tên còn lại là tên hiển thị, hiển thị trong trang Tài khoản người dùng của Bảng điều khiển và trong menu Bắt đầu. Phần đính kèm của Người dùng và Nhóm cục bộ cho MMC ( lusrmgr.msc) hiển thị cả hai: tên SAM trong cột Tên và tên hiển thị trong cột Tên đầy đủ. Tên SAM là tên được sử dụng để sản xuất thư mục hồ sơ.

Không dễ để thay đổi tên SAM trừ khi bạn sử dụng phần đính vào MMC này. Chỉ thay đổi đối với sự kiện sản xuất tên SAM 4781. Tôi nghi ngờ, cho rằng bạn không thấy sự kiện 4781 trong nhật ký của mình, chỉ có tên hiển thị được thay đổi. Điều này chỉ tạo ra sự kiện 4738 ("tài khoản người dùng đã được thay đổi"). Sự kiện 4738 chỉ liệt kê giá trị mới cho tên hiển thị, không phải giá trị cũ và tôi nghi ngờ lịch sử của tên hiển thị không được lưu giữ ở bất kỳ đâu (hy vọng tốt nhất của bạn sẽ là tìm hiểu nhật ký cho nhiều trường hợp hơn 4738).

May mắn thay, tìm đường dẫn hồ sơ từ một tên hiển thị không quá khó. Mở PowerShell và gõ lệnh này:

gwmi win32_useraccount

Bạn nhận được một loạt các mục trông như thế này:

AccountType : 512
Caption     : <redacted>\tester
Domain      : <redacted>
SID         : S-1-5-21-<redacted>-1018
FullName    : Test Account
Name        : tester

Tìm một cái có FullNamehiển thị tên hiển thị của tài khoản. Sau đó nhìn vào SIDgiá trị (Tôi đã xử lý lại SID máy của mình ở đây). Mở Registry và điều hướng đến khóa được đề cập bởi harrymc:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Mở khóa con có tên giống như SID bạn tìm thấy. Các ProfileImagePathgiá trị nắm giữ đường dẫn đến thư mục hồ sơ của họ.


Tôi nhận được thông báo lỗi này sau khi tôi nhập lệnh như bạn đã nêu:Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Fenixtriver

@FeniXtriver Rất tiếc, có vẻ như Get-LocalUsercmdlet không tồn tại trong phiên bản Windows 7 của PowerShell. (Tôi đã thử nghiệm trên Windows 10.) Tôi cũng đã chỉnh sửa câu trả lời của mình để hoạt động trên Windows 7.
Ben N

Tôi thực sự đã thử nghiệm trên Windows 10, nhưng nó dường như không hoạt động. Dù sao, lệnh mới được đưa ra làm việc bây giờ. Cảm ơn rất nhiều cho đầu vào có giá trị của bạn. Tôi đã đánh dấu câu trả lời của bạn đúng. :)
Fenixtriver

8

Làm cách nào để tìm tên hồ sơ người dùng gốc từ tên tài khoản người dùng đã thay đổi?

Xem trong Nhật ký sự kiện hệ thống bảo mật của Windows cho EventID 4781: Tên của một tài khoản đã được thay đổi :

4781: Tên của một tài khoản đã được thay đổi

Người dùng được xác định bởi Chủ đề: đã thay đổi tên đăng nhập bình thường hoặc tên đăng nhập trước Win2k của người dùng được xác định bởi Tài khoản mục tiêu :. Sự kiện 4738 thực sự cung cấp thông tin tốt hơn về sự thay đổi này.

Sự kiện này được ghi lại cho cả tài khoản SAM và tài khoản miền.

Bạn cũng sẽ thấy ID sự kiện 4738 thông báo cho bạn thông tin tương tự.

Môn học:

Người dùng và phiên đăng nhập đã thực hiện hành động.

  • ID bảo mật: SID của tài khoản.
  • Tên tài khoản: Tên đăng nhập tài khoản.
  • Tên miền tài khoản: Tên miền hoặc - trong trường hợp tài khoản cục bộ - tên máy tính.
  • ID đăng nhập là số bán duy nhất (duy nhất giữa các lần khởi động lại) xác định phiên đăng nhập. ID đăng nhập cho phép bạn tương quan ngược với sự kiện đăng nhập (4624) cũng như với các sự kiện khác được ghi lại trong cùng một phiên đăng nhập.

Tài khoản mục tiêu:

  • ID bảo mật: SID của tài khoản
  • Tên tài khoản: tên tài khoản
  • Tên miền tài khoản: tên miền của tài khoản
  • Tên tài khoản cũ: tên đăng nhập cũ
  • Tên tài khoản mới: tên đăng nhập mới

Nguồn EventID 4781: Tên tài khoản đã được thay đổi


Tôi không thể tìm thấy sự kiện này trong Nhật ký sự kiện. Có khả năng nào khác ngoài tên tài khoản người dùng được thay đổi để tên tài khoản người dùng khác với tên hồ sơ người dùng không? Hoặc có cách nào khác để xác định?
Fenixtriver

@FeniXtriver Bạn đã xem nhật ký sự kiện Bảo mật ? Tôi không biết về các cách khác để thay đổi tên hồ sơ người dùng trừ khi có ai đó hack sổ đăng ký.
DavidPostill

1
Tôi nghi ngờ có một số nhầm lẫn về tên tài khoản SAM so với tên hiển thị đang diễn ra ở đây. Tôi vừa thử nghiệm và thay đổi tên hiển thị (ví dụ với Bảng điều khiển) không tạo sự kiện 4781 vì nó không thay đổi tên SAM.
Ben N

@DavidPostill Có, tôi đã xem nhật ký sự kiện Bảo mật. Tôi tin rằng Ben N là đúng. Và tôi đã đánh dấu câu trả lời của anh ấy là chính xác. Cảm ơn sự giúp đỡ của bạn nào. Hãy cho tôi biết nếu bạn vẫn còn bất cứ điều gì để thêm vào. :)
Fenixtriver

8

Câu trả lời này dựa trên thực tế là việc đổi tên tài khoản người dùng không tự động thay đổi đường dẫn hồ sơ.

Nếu tài khoản đã được đổi tên nhưng đường dẫn hồ sơ không được thay đổi, tên đường dẫn có thể được tìm thấy trong sổ đăng ký HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList trong mục có tên ProfileImagePathgiá trị sẽ là C:\Users\old-user-name.

hình ảnh Click để xem ảnh rõ hơn

Để chuyển đổi SID được đánh dấu thành tên tài khoản người dùng hiện tại, hãy nhập lệnh cmd:

wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name

1
Để thêm nhiều hơn ... không net userliệt kê tên người dùng cũ? Được rồi, nếu có nhiều tên người dùng, vẫn khó để tìm ra, nhưng trên máy tính thì thường là không.
LPChip

1
@harrymc Làm thế nào bạn biết đường dẫn hồ sơ cho tên tài khoản nào sau đó?
Fenixtriver

1
Một cách sẽ là lấy chìa khóa, đó là một chuỗi dài bắt đầu bằng 'S' và nhập lệnh cmd wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
harrymc

@LPChip, bạn nói đúng.
Fenixtriver

@harrymc Vấn đề là chúng ta sẽ không biết SID ở nơi đầu tiên. Tôi đã đánh dấu câu trả lời đúng của Ben N vào lúc này. Cảm ơn bạn rất nhiều cho đầu vào của bạn nào. Hãy cho tôi biết nếu bạn có bất cứ điều gì để thêm vào. :)
Fenixtriver
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.