Сначала найдите SID пользователя (в строковом формате). Метод, который вы используете, зависит от вашего языка программирования. Однако вот один из способов сделать это (VBScript):
'Note: you must have domain/corporate network connectivity in order to complete this query for a domain account
'This will not work for a remote user that is not connected via VPN, for example.
strUserName = "flesniak"
strNetBIOSDomainName = "DOMAIN" 'Use the computer name if checking local account
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set objAccount = objWMI.Get("Win32_UserAccount.Name='" & strUserName & "',Domain='" & strNetBIOSDomainName & "'")
strUserSID = objAccount.SID
Когда у вас есть SID, запросите ключ реестра:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<SID>
и проверьте значение строки:
CentralProfile
Если значение CentralProfile пустое или отсутствует, то это локальный профиль. Если CentralProfile настроен как путь UNC, то это перемещаемый профиль.