ใน Windows ชื่อบัญชีผู้ใช้จะแตกต่างจากชื่อโปรไฟล์ผู้ใช้หลังจากที่มันถูกเปลี่ยนจากแผงควบคุม
จะค้นหาชื่อโปรไฟล์ผู้ใช้ดั้งเดิมจากชื่อบัญชีผู้ใช้ที่เปลี่ยนแปลงได้อย่างไร
ใน Windows ชื่อบัญชีผู้ใช้จะแตกต่างจากชื่อโปรไฟล์ผู้ใช้หลังจากที่มันถูกเปลี่ยนจากแผงควบคุม
จะค้นหาชื่อโปรไฟล์ผู้ใช้ดั้งเดิมจากชื่อบัญชีผู้ใช้ที่เปลี่ยนแปลงได้อย่างไร
คำตอบ:
มีคุณสมบัติ "ชื่อ" สองบัญชีของแต่ละบัญชีดังนั้นขอให้ฉันอธิบายสิ่งเล็กน้อยเพื่อให้เราไม่สับสน หนึ่งคือชื่อบัญชี 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
cmdlet ไม่มีอยู่ใน PowerShell รุ่น Windows 7 (ฉันทดสอบใน Windows 10. ) ฉันแก้ไขคำตอบของฉันเพื่อทำงานบน Windows 7 เช่นกัน
ดูในบันทึกความปลอดภัยของ Windows เหตุการณ์ของระบบสำหรับEventID 4781: ชื่อของบัญชีที่ได้รับการเปลี่ยนแปลง :
4781: เปลี่ยนชื่อบัญชี
ผู้ใช้ที่ระบุโดยหัวเรื่อง: เปลี่ยนชื่อเข้าสู่ระบบปกติหรือชื่อเข้าสู่ระบบ pre-Win2k ของผู้ใช้ที่ระบุโดยบัญชีเป้าหมาย: เหตุการณ์ 4738 ให้ข้อมูลที่ดีขึ้นเกี่ยวกับการเปลี่ยนแปลงนี้
เหตุการณ์นี้ถูกบันทึกทั้งสำหรับบัญชี SAM ในพื้นที่และบัญชีโดเมน
คุณจะเห็นรหัสเหตุการณ์ 4738 แจ้งให้คุณทราบข้อมูลเดียวกัน
เรื่อง:
เซสชันผู้ใช้และการเข้าสู่ระบบที่ดำเนินการ
- ID ความปลอดภัย: SID ของบัญชี
- ชื่อบัญชี: ชื่อเข้าสู่ระบบบัญชี
- โดเมนบัญชี: โดเมนหรือ - ในกรณีของบัญชีท้องถิ่น - ชื่อคอมพิวเตอร์
- ID เข้าสู่ระบบเป็นหมายเลขกึ่ง (ไม่ซ้ำกันระหว่าง reboots) ที่ระบุเซสชันการเข้าสู่ระบบ ID การเข้าสู่ระบบช่วยให้คุณสามารถสัมพันธ์ย้อนหลังกับเหตุการณ์การเข้าสู่ระบบ (4624) เช่นเดียวกับกิจกรรมอื่น ๆ ที่บันทึกไว้ในระหว่างการเข้าสู่ระบบเซสชั่นเดียวกัน
บัญชีเป้าหมาย:
- ID ความปลอดภัย: SID ของบัญชี
- ชื่อบัญชี: ชื่อของบัญชี
- บัญชีโดเมน: โดเมนของบัญชี
- ชื่อบัญชีเก่า: ชื่อเข้าสู่ระบบเก่า
- ชื่อบัญชีใหม่: ชื่อเข้าสู่ระบบใหม่
คำตอบนี้ขึ้นอยู่กับข้อเท็จจริงที่ว่าการเปลี่ยนชื่อบัญชีผู้ใช้จะไม่เปลี่ยนเส้นทางโปรไฟล์โดยอัตโนมัติ
หากบัญชีถูกเปลี่ยนชื่อ แต่เส้นทางโปรไฟล์ก็ไม่ได้เปลี่ยนชื่อเส้นทางที่สามารถพบได้ในรีจิสทรีภายใต้
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
net user
แสดงชื่อผู้ใช้เก่าด้วยใช่ไหม ตกลงถ้ามีชื่อผู้ใช้จำนวนมากมันยังคงยากที่จะเข้าใจ แต่ในพีซีมันมักจะไม่ใช่
wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
และป้อนคำสั่งคำสั่ง
Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....