Как получить (AD) запись человека LDAP SID?

Взятый от сайта Rackspace:

Все Облачные Серверы идут с определенным количеством гарантируемой мощности ЦП на основе размера серверов, которые Вы создаете. Однако время от времени, когда существует дополнительная мощность ЦП, доступная от аппаратных средств хоста, мы используем в своих интересах его, предоставляя Вашим рабочим нагрузкам дополнительную вычислительную мощность без любой дополнительной стоимости для Вас.

4
задан 17 August 2011 в 11:03
4 ответа

Хотелось бы, чтобы это было так же просто, как:

dsget user "objectSID={thesid},CN=Users,DC=domain,DC=com" -samid

Но это не так; AD хранит objectSID в шестнадцатеричном формате.

Специалисты по serverfault написали несколько ответов, которые, тем не менее, могут помочь:

Получение сведений о пользователе из Active Directory с использованием SID

4
ответ дан 3 December 2019 в 02:33

Другой способ - отказаться от LDAP и используйте WMIC:

H:\>wmic useraccount where (sid = "S-1-5-21-1698188384-1693678267-1543859470-6637") get * /format:list    

AccountType=512
Caption=MYDOMAIN\quux
Description=some guy's account
Disabled=FALSE
Domain=MYDOMAIN
FullName=Some Guy
InstallDate=
LocalAccount=FALSE
Lockout=FALSE
Name=quux
PasswordChangeable=TRUE
PasswordExpires=FALSE
PasswordRequired=TRUE
SID=S-1-5-21-1698188384-1693678267-1543859470-6637
SIDType=1
Status=OK

Теперь у вас есть несколько атрибутов, по которым будет легко выполнять поиск через LDAP, если вам все еще нужно.

6
ответ дан 3 December 2019 в 02:33

Я вижу, что этот старый, но вы можете сделать это в ADUC, перейдя в пользовательский поиск и щелкнув вкладку «Дополнительно».

Строка запроса LDAP: (objectSID = SID)

Замените «SID» на SID, который вы ищете.

Мне пришлось выполнить перевод SID в имя и обратно в SID (для сторонних участников безопасности) в PowerShell, используя следующий код:

function Find_By_SID($SID) {

    //Searches Active Directory by SID
    //Returns NetBios Name 
    // Example output: CONTOSO\User1

    $account = New-Object Security.Principal.SecurityIdentifier("$SID")
    $netbios = $account.Translate([Security.Principal.NTAccount])

    return $netbios.Value

}
1
ответ дан 3 December 2019 в 02:33

Это поиск по SID с использованием запроса LDAP. Например:

dsquery * domainroot -filter "(objectSid=S-1-5-21-blah-blah-blah-500)"

или, в PowerShell,

Get-ADuser -LDAPFilter '(objectSid=S-1-5-21-blah-blah-blah-500)'

получит учетную запись администратора домена, если вы добавите в свой домен значение бла-бла-бла .

0
ответ дан 3 December 2019 в 02:33

Теги

Похожие вопросы