Что нового

Получить SID

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Получить часть SID как в этом ключе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18

Код:
#include<Security.au3>

Func _GetCurrentUser()
    Local $result = DllCall("Wtsapi32.dll","int", "WTSQuerySessionInformationW", "Ptr", 0, "int", -1, "int", 5, "ptr*", 0, "dword*", 0)
    If @error Or $result[0] = 0 Then Return SetError(1,0,"")
    Local $User = DllStructGetData(DllStructCreate("wchar[" & $result[5] & "]" , $result[4]),1)
    DllCall("Wtsapi32.dll", "int", "WTSFreeMemory", "ptr", $result[4])
    Return $User
EndFunc

Func _GetCurrentUserSID()
    ; Prog@ndy
    Local $User = _Security__LookupAccountName(_GetCurrentUser(),@ComputerName)
    If @error Then Return SetError(1,0,"")
    Return $User[0]
EndFunc

MsgBox(0, '', _GetCurrentUser() & @CRLF & _GetCurrentUserSID())


Этот код возвращает только часть "правильного ответа"
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Автор
sforce5

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Не, смысла бы не было в вопросе, ведь у каждого разный SID. Необязательно S-1-5-18
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
sforce5
Может быть ответ скрывается под этим ключом?

Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
sforce5, а что мешает отделить первые четыре цифры? SID обозначается следующим образом:

S-R-I-S…

Что все это хозяйство означает можно почитать здесь, а функция работает правильно, возвращает полный идентификатор.



Добавлено:
Сообщение автоматически объединено:

А вообще, порывшись в MSDN, я так понимаю, что раздел "...\S-1-5-18" должен быть одинаковый для всех.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Yashied [?]
А вообще, порывшись в MSDN, я так понимаю, что раздел "...\S-1-5-18" должен быть одинаковый для всех.
Так и есть.
SID: S-1-5-18
Название: Локальная система
Описание: Учетная запись службы, используемая операционной системой.
 
Верх