Получить основное имя компьютера с помощью `GetUserNameEx`

Я попытался получить основное имя компьютера службы, работающей как Network Service, с помощью следующего кода.

BOOLEAN bError = GetUserNameEx(NameUserPrincipal, buffer, &buf_len);

Поскольку доменное имя моего компьютера [email protected], я ожидаю, что результат в buffer будет таким же. Однако возвращенное имя субъекта-службы — [email protected]. Я уверен, что сменил свой компьютер и добавил его в домен example.com.

Я понятия не имею о ненормальном основном имени. В чем может быть проблема? Любые подсказки будут высоко оценены.

ОБНОВИТЬ


Я запускаю службу на контроллере домена, не знаю, повлияет ли это на результат.

Спасибо и всего наилучшего!


person Summer_More_More_Tea    schedule 16.07.2013    source источник


Ответы (1)


Я бы не ожидал получить имя компьютера при поиске имени пользователя для учетной записи пользователя сетевой службы. Если вы посмотрите его с помощью LookupAccountSid, я ожидаю увидеть NT AUTHORITy\NETWORK SERVICE:

#include <windows.h>
#include <iostream>

int main(){
    SID nss;
    DWORD size = sizeof(nss);

    CreateWellKnownSid(WinNetworkServiceSid, NULL, &nss, &size);

    char name[256];
    DWORD n_size = sizeof(name);
    char domain[256];
    DWORD d_size = sizeof(domain);
    SID_NAME_USE type;

    LookupAccountSid(NULL, &nss, name, &n_size, domain, &d_size, &type);

    std::cout << domain << "\\" << name << "\n";
    return 0;
}

[И это то, что я получаю].

Я предполагаю, что имя пользователя, которое вы видите, является остатком автоматически созданной учетной записи пользователя. По-видимому, от первоначального имени остались какие-то остатки еще долго после того, как вы изменили имена на другие вещи. Я также видел их время от времени, хотя никогда не видел достаточно надежной закономерности, чтобы предсказать, когда они появятся или не появятся (и никогда не находил способа убедиться, что они полностью исчезли).

person Jerry Coffin    schedule 17.07.2013
comment
Спасибо за подсказки! - person Summer_More_More_Tea; 19.07.2013