이 명령을 실행하면 rundll32 sysdm.cpl,EditUserProfiles
해당 컴퓨터에 저장된 프로필에 대한 세부 정보를 보여주는 '사용자 프로필' 창이 표시됩니다. 이 화면이 로드되는 속도를 보면 이 데이터가 즉석에서 생성되는 것이 아니라 로컬 어딘가에 저장되어 있음을 알 수 있습니다.
쿼리는 데이터의 하위 집합만 제공하므로 프로그래밍 방식으로 검색할 수 있도록 이 데이터의 위치를 이해하려고 하며 Win32_UserProfile
, 수동으로 계산하는 대신 프로필 크기를 구체적으로 찾고 있습니다.
답변1
폴더 크기는 특별히 변수로 어디에 저장되지 않으며 'c:\users' 프로필 폴더에서 마우스 오른쪽 버튼을 클릭하고 속성을 클릭하면 계산됩니다. 필요한 모든 위치 또는 하위 집합 데이터는 다음 키 아래의 레지스트리에서 찾을 수 있습니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
프로필 크기 목록을 대조해야 하는 경우 'c:\users'를 쿼리하는 것이 가장 좋습니다. powershell은 이것을 위한 나의 첫 번째 시도가 될 것입니다. 또한 로밍 프로필이 활성화되지 않고 폴더 리디렉션 정책을 사용하지 않는 경우 'c:\users' 위치에는 전체 프로필만 포함됩니다. 그렇지 않으면 해당 프로필이 저장된 위치를 쿼리해야 합니다.
powershell 방식이 궁금하신 분들은 아래 링크를 참고해주세요. 여기서는 폴더 크기 모듈을 사용하는 방법을 자세히 설명한 다음 식별을 위해 폴더 이름을 추가하기만 하면 됩니다. 이것을 잡을 수 있는 기성 제품은 'spacesniffer'라고 합니다. 이것을 c:\users에서 실행하면 각 프로필에 대해 다양한 모양 크기를 보여주는 그래프가 제공되며 이를 다음으로 내보낼 수도 있습니다. 필요한 경우 파일.
편집: 링크를 잊어버렸습니다https://www.gngrninja.com/script-ninja/2016/5/24/powershell-calculated-folder-sizes
답변2
경고:짧은 Q&A로 설명하기에는 주제가 너무 광범위합니다. 관심있는 분들은 전체를 살펴보세요sysdm 폴더ReactOS 저장소에 있습니다.
여기에서는 Windows 10의 절차를 요약합니다. 파일 BOOL EditUserProfiles(HWND hWndParent)
의 기능 에서 세부 정보를 얻습니다 sysdm.cpl
.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
레지스트리 키를 열고RegOpenKeyExW()
그 안에 있는 모든 하위 레지스트리 키를 열거합니다.ProfileImagePath
레지스트리 값은%UserProfile%
폴더 경로를 제공합니다.해당 경로에서
FindFirstFileW()
마지막으로 수정된 시간과 날짜를 가져옵니다.Sid
보안 식별자를 제공합니다. 등록된 각 사용자는 고유한 SID를 갖습니다. 해당 SID 값에서LookupAccountSidW()
사용자 이름, 도메인 이름 등을 제공합니다.더 많은 것...