จะระบุชื่อโปรไฟล์ผู้ใช้ (ดั้งเดิม) จากชื่อบัญชีผู้ใช้ที่ถูกเปลี่ยนใน Windows ได้อย่างไร?


8

ใน Windows ชื่อบัญชีผู้ใช้จะแตกต่างจากชื่อโปรไฟล์ผู้ใช้หลังจากที่มันถูกเปลี่ยนจากแผงควบคุม

จะค้นหาชื่อโปรไฟล์ผู้ใช้ดั้งเดิมจากชื่อบัญชีผู้ใช้ที่เปลี่ยนแปลงได้อย่างไร

คำตอบ:


6

มีคุณสมบัติ "ชื่อ" สองบัญชีของแต่ละบัญชีดังนั้นขอให้ฉันอธิบายสิ่งเล็กน้อยเพื่อให้เราไม่สับสน หนึ่งคือชื่อบัญชี SAM (Security ผู้จัดการบัญชี) net userซึ่งแสดงให้เห็นว่าในการส่งออกของ นี่เป็นชื่อบัญชีที่เกี่ยวข้องกับส่วนประกอบระบบปฏิบัติการระดับต่ำ อีกอันคือชื่อที่แสดงซึ่งแสดงในหน้าบัญชีผู้ใช้ของแผงควบคุมและในเมนูเริ่ม สแนปอินผู้ใช้และกลุ่มสำหรับ MMC ( lusrmgr.msc) แสดงทั้ง: ชื่อ SAM ในคอลัมน์ชื่อและชื่อที่แสดงในคอลัมน์ชื่อเต็ม ชื่อ SAM คือสิ่งที่ใช้สร้างโฟลเดอร์โปรไฟล์

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

โชคดีที่การค้นหาเส้นทางโปรไฟล์จากชื่อที่แสดงนั้นไม่ยากเกินไป เปิด PowerShell แล้วพิมพ์คำสั่งนี้:

gwmi win32_useraccount

คุณได้รับรายการที่มีลักษณะดังนี้:

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

ค้นหาหนึ่งรายการด้วยการFullNameแสดงชื่อที่แสดงของบัญชี จากนั้นดูที่SIDค่า (ฉัน redacted SID ของเครื่องที่นี่ เปิด Registry และไปที่คีย์ที่กล่าวถึงโดย harrymc:

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

เปิดคีย์ย่อยชื่อเดียวกันกับ SID ที่คุณพบ ProfileImagePathค่าถือเส้นทางไปยังโฟลเดอร์โปรไฟล์ของพวกเขา


ฉันได้รับข้อความแสดงข้อผิดพลาดนี้หลังจากที่ฉันป้อนคำสั่งตามที่ระบุไว้โดยคุณ:Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Fenixtriver

@FeniXtriver อุ๊ปส์ดูเหมือนว่าGet-LocalUsercmdlet ไม่มีอยู่ใน PowerShell รุ่น Windows 7 (ฉันทดสอบใน Windows 10. ) ฉันแก้ไขคำตอบของฉันเพื่อทำงานบน Windows 7 เช่นกัน
Ben N

ฉันทดสอบบน Windows 10 ด้วยเช่นกัน แต่ดูเหมือนจะไม่ทำงาน อย่างไรก็ตามคำสั่งใหม่ที่ให้ใช้งานได้ในขณะนี้ ขอบคุณมากสำหรับข้อมูลที่มีค่าของคุณ ฉันทำเครื่องหมายคำตอบของคุณถูกต้องแล้ว :)
Fenixtriver

8

จะค้นหาชื่อโปรไฟล์ผู้ใช้ดั้งเดิมจากชื่อบัญชีผู้ใช้ที่เปลี่ยนแปลงได้อย่างไร

ดูในบันทึกความปลอดภัยของ Windows เหตุการณ์ของระบบสำหรับEventID 4781: ชื่อของบัญชีที่ได้รับการเปลี่ยนแปลง :

4781: เปลี่ยนชื่อบัญชี

ผู้ใช้ที่ระบุโดยหัวเรื่อง: เปลี่ยนชื่อเข้าสู่ระบบปกติหรือชื่อเข้าสู่ระบบ pre-Win2k ของผู้ใช้ที่ระบุโดยบัญชีเป้าหมาย: เหตุการณ์ 4738 ให้ข้อมูลที่ดีขึ้นเกี่ยวกับการเปลี่ยนแปลงนี้

เหตุการณ์นี้ถูกบันทึกทั้งสำหรับบัญชี SAM ในพื้นที่และบัญชีโดเมน

คุณจะเห็นรหัสเหตุการณ์ 4738 แจ้งให้คุณทราบข้อมูลเดียวกัน

เรื่อง:

เซสชันผู้ใช้และการเข้าสู่ระบบที่ดำเนินการ

  • ID ความปลอดภัย: SID ของบัญชี
  • ชื่อบัญชี: ชื่อเข้าสู่ระบบบัญชี
  • โดเมนบัญชี: โดเมนหรือ - ในกรณีของบัญชีท้องถิ่น - ชื่อคอมพิวเตอร์
  • ID เข้าสู่ระบบเป็นหมายเลขกึ่ง (ไม่ซ้ำกันระหว่าง reboots) ที่ระบุเซสชันการเข้าสู่ระบบ ID การเข้าสู่ระบบช่วยให้คุณสามารถสัมพันธ์ย้อนหลังกับเหตุการณ์การเข้าสู่ระบบ (4624) เช่นเดียวกับกิจกรรมอื่น ๆ ที่บันทึกไว้ในระหว่างการเข้าสู่ระบบเซสชั่นเดียวกัน

บัญชีเป้าหมาย:

  • ID ความปลอดภัย: SID ของบัญชี
  • ชื่อบัญชี: ชื่อของบัญชี
  • บัญชีโดเมน: โดเมนของบัญชี
  • ชื่อบัญชีเก่า: ชื่อเข้าสู่ระบบเก่า
  • ชื่อบัญชีใหม่: ชื่อเข้าสู่ระบบใหม่

แหล่งEventID 4781: ชื่อของบัญชีถูกเปลี่ยน


ฉันไม่พบกิจกรรมนี้ในบันทึกเหตุการณ์ มีความเป็นไปได้อื่นใดนอกเหนือจากชื่อบัญชีผู้ใช้ที่กำลังเปลี่ยนชื่อบัญชีผู้ใช้จะแตกต่างจากชื่อโปรไฟล์ผู้ใช้หรือไม่ หรือมีวิธีอื่นในการระบุ?
Fenixtriver

@FeniXtriver คุณดูในบันทึกเหตุการณ์ความปลอดภัยหรือไม่ ฉันไม่รู้วิธีอื่นในการเปลี่ยนชื่อโปรไฟล์ผู้ใช้เว้นแต่จะมีใครบางคนเจาะข้อมูลรีจิสทรี
DavidPostill

1
ฉันสงสัยว่ามีความสับสนเกี่ยวกับชื่อบัญชี SAM และชื่อที่แสดงเกิดขึ้นที่นี่ ฉันเพิ่งทดสอบและเปลี่ยนชื่อที่แสดง (เช่นกับแผงควบคุม) ไม่ได้สร้างเหตุการณ์ 4781 เพราะไม่ได้เปลี่ยนชื่อ SAM
Ben N

@DavidPostill ใช่ฉันเคยตรวจสอบบันทึกเหตุการณ์ความปลอดภัยแล้ว ฉันเชื่อว่า Ben N นั้นถูกต้อง และฉันได้ทำเครื่องหมายคำตอบของเขาถูกต้อง ขอบคุณสำหรับความช่วยเหลือของคุณ อย่าลังเลที่จะแจ้งให้เราทราบหากคุณยังมีอะไรเพิ่มเติม :)
Fenixtriver

8

คำตอบนี้ขึ้นอยู่กับข้อเท็จจริงที่ว่าการเปลี่ยนชื่อบัญชีผู้ใช้จะไม่เปลี่ยนเส้นทางโปรไฟล์โดยอัตโนมัติ

หากบัญชีถูกเปลี่ยนชื่อ แต่เส้นทางโปรไฟล์ก็ไม่ได้เปลี่ยนชื่อเส้นทางที่สามารถพบได้ในรีจิสทรีภายใต้ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList ในรายการที่มีชื่อที่มีค่าจะเป็นProfileImagePath C:\Users\old-user-name

ภาพ คลิกเพื่อดูภาพขยาย

ในการแปลง SID ที่ทำเครื่องหมายเป็นชื่อบัญชีผู้ใช้ปัจจุบันให้ป้อนคำสั่ง cmd:

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

1
หากต้องการเพิ่มอีก ... ไม่net userแสดงชื่อผู้ใช้เก่าด้วยใช่ไหม ตกลงถ้ามีชื่อผู้ใช้จำนวนมากมันยังคงยากที่จะเข้าใจ แต่ในพีซีมันมักจะไม่ใช่
LPChip

1
@harrymc คุณจะรู้ได้อย่างไรว่าเส้นทางโปรไฟล์นั้นเป็นชื่อบัญชีใด
Fenixtriver

1
วิธีการหนึ่งที่จะนำที่สำคัญซึ่งเป็นสายยาวเริ่มต้นด้วย 'S' wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get nameและป้อนคำสั่งคำสั่ง
harrymc

@ LPChip คุณพูดถูก
Fenixtriver

@harrymc ปัญหาคือเราไม่รู้ว่า SID คืออะไรในตอนแรก ฉันได้ทำเครื่องหมายคำตอบของ Ben N ว่าถูกต้องในขณะนี้ ขอบคุณมากสำหรับข้อมูลของคุณ อย่าลังเลที่จะแจ้งให้เราทราบหากคุณมีอะไรเพิ่มเติม :)
Fenixtriver
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.