Відповіді:
Якщо ви знаєте ім'я користувача та домен користувача, ви можете пройти їх через перевірку.
Спочатку знайдіть 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, то це роумінговий профіль.