[решено] Получить SID пользователя

Ответить
Аватара пользователя
support23

[решено] Получить SID пользователя

Сообщение support23 »

Добрый день!

Подскажите как получить SID пользователя в переменную, зная логин ?
Аватара пользователя
support23

Re: [решено] Получить SID пользователя

Сообщение support23 »

support23, текущего пользователя или произвольного?
Аватара пользователя
Iska

Re: [решено] Получить SID пользователя

Сообщение Iska »

Цитата Iska:



текущего пользователя или произвольного?
[решено] Получить SID пользователя




произвольного, работающего в домене
Аватара пользователя
Iska

Re: [решено] Получить SID пользователя

Сообщение Iska »

Например, так:



Код:

Код: Выделить всё

AutoItSetOption("MustDeclareVars", 1)
Local $sComputer         = "."
Local $oSWbemLocator     = ObjCreate("WbemScripting.SWbemLocator")
Local $oSWbemServicesEx  = $oSWbemLocator.ConnectServer($sComputer, "root\cimv2")
Local $oSWbemObjectEx
Local $sDomain   = "domain"
Local $sUserName = "username"
For $oSWbemObjectEx In $oSWbemServicesEx.ExecQuery( _
		"SELECT * FROM Win32_UserAccount WHERE " & _
		"Domain = '" & $sDomain & "' AND " & _
		"Name   = '" & $sUserName & "'" _
	)
	ConsoleWrite($oSWbemObjectEx.SID & @CRLF)
Next
Exit(0)
Аватара пользователя
glax24

Re: [решено] Получить SID пользователя

Сообщение glax24 »

Или считать из реестра



Код:

Код: Выделить всё

$s_Key = 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
$i = 0
While 1
	$i += 1
	$sSID = RegEnumKey($s_Key, $i)
	If @error  0 Then ExitLoop ; no more Keys
	If StringLen($sSID) > 8 Then
		MsgBox(0, "", 'SID = ' & $sSID)
	EndIf
WEnd
Аватара пользователя
Iska

Re: [решено] Получить SID пользователя

Сообщение Iska »

Цитата glax24:



Или считать из реестра
[решено] Получить SID пользователя




glax24, откуда такая уверенность — что произвольно выбранный пользователь регистрировался на данной машине?
Аватара пользователя
glax24

Re: [решено] Получить SID пользователя

Сообщение glax24 »

Iska, а как с помощью WMI вы получите SID пользователя не активной ОС, да никак.


Цитата Iska:



что произвольно выбранный пользователь регистрировался на данной машине
[решено] Получить SID пользователя




И что значит регистрировался? Был создан но под ним не разу не заходили?
Аватара пользователя
Iska

Re: [решено] Получить SID пользователя

Сообщение Iska »

Цитата glax24:



а как с помощью WMI вы получите SID пользователя не активной ОС, да никак.
[решено] Получить SID пользователя




Коллега! Я что-то пропустил в вопросе и пояснениях автора темы? Вы сами придумали свой вопрос, сами ответили на него, а теперь пытаетесь его обосновать.




Цитата glax24:



И что значит регистрировался?
[решено] Получить SID пользователя




Нажал «Ctrl-Alt-Del», ввёл логин, домен, пароль и нажал «Enter».




Цитата glax24:



Был создан но под ним не разу не заходили?
[решено] Получить SID пользователя




На данной машине.
Аватара пользователя
support23

Re: [решено] Получить SID пользователя

Сообщение support23 »

Iska, благодарю за помощь! Вопрос закрыт!
Аватара пользователя
madmasles

Re: [решено] Получить SID пользователя

Сообщение madmasles »

support23,

Штатный вариант.

Код:

Код: Выделить всё

#include 
Local $aArrayOfData = _Security__LookupAccountName(@UserName)
; Print returned data if no error occured
If IsArray($aArrayOfData) Then
    ConsoleWrite("SID String = " & $aArrayOfData[0] & @CRLF)
    ConsoleWrite("Domain name = " & $aArrayOfData[1] & @CRLF)
    ConsoleWrite("SID type = " & _Security__SidTypeStr($aArrayOfData[2]) & @CRLF)
EndIf
Ответить

Вернуться в «AutoIt»