Как исправить ошибку: 1722 RP C сервер недоступен в программе c ++ с использованием winevt.h - PullRequest
0 голосов
/ 26 января 2020

У меня есть два windows 10VM и windows server 2016 vm в качестве активного контроллера домена каталога, созданного в hyper-v, они подключены к сети хоста с помощью NAT. Я искал несколько решений и включил соответствующие разрешения в брандмауэре и редакторе групповой политики и добавил всех пользователей и компьютеры в группу читателей журнала событий и группу пользователей удаленного управления с контроллера домена. Я могу получить доступ к журналам событий второй виртуальной машины windows 10 с первой через powershell (get-winevent) и через средство просмотра событий, но когда я пишу программу с использованием c ++, функция EvtOpenSession выдает ошибку: 1722 RP C сервер недоступен , Существуют ли какие-либо особые процедуры, позволяющие коду c ++ получать доступ к журналам с удаленного компьютера?

Это мой код для EvtOpenSession, я что-то упустил в коде или что-то еще нужно сделать, чтобы эта работа ( например, испортить реестр, брандмауэр, политику и т. д. (1011 * в локальном пользователе или администраторе домена)?

EVT_HANDLE hRemote = NULL;
EVT_RPC_LOGIN Credentials;
RtlZeroMemory(&Credentials, sizeof(EVT_RPC_LOGIN));

Credentials.Server = (LPWSTR)"VIRTUAL\\DESKTOP-local02";
Credentials.Domain = (LPWSTR)"VIRTUAL.HYPERVSERVER";
Credentials.User = (LPWSTR)"VIRTUAL\\Administrator";
Credentials.Password = (LPWSTR)"Vadmin12345#";
Credentials.Flags = EvtRpcLoginAuthNegotiate;
hRemote = EvtOpenSession(EvtRpcLogin, &Credentials, 0, 0);
SecureZeroMemory(&Credentials, sizeof(EVT_RPC_LOGIN));

примечание: я пытался использовать учетные данные пользователя и учетные данные администратора, оба из них выдают одну и ту же ошибку [ 1722], неправильные учетные данные дают ошибку: 1825.

...