Magazyn certyfikatów na moim pudełku Win7 stale się zawiesza. Przestrzegać:
C: \> 1. cmd C: \> certutil -? | findstr / i ping -ping - Ping Interfejs żądania usług certyfikatów w usłudze Active Directory -pingadmin - Interfejs administratora usług ping usługi Active Directory C: \> ustaw PROMPT = $ P ($ t) $ G C: \ (13: 04: 28.57)> certutil -ping CertUtil: -ping polecenie FAILED: 0x80070002 (WIN32: 2) CertUtil: System nie może znaleźć określonego pliku. C: \ (13: 04: 58.68)> certutil -pingadmin CertUtil: -pingadmin command FAILED: 0x80070002 (WIN32: 2) CertUtil: System nie może znaleźć określonego pliku. C: \ (13: 05: 28.79)> ustaw PROMPT = $ P $ G C: \>
Objaśnienia:
- Pierwsze polecenie pokazuje, że istnieją
–ping
i–pingadmin
parametry do certutil - Próba użycia dowolnego parametru ping kończy się z 30-sekundowym limitem czasu (aktualny czas jest wyświetlany w monicie)
To poważny problem. To psuje całą bezpieczną komunikację w mojej aplikacji. Jeśli ktoś wie, jak to naprawić - udostępnij.
Dzięki.
PS
1.cmd to po prostu partia tych poleceń:
certutil -? | findstr /i ping
set PROMPT=$P($t)$G
certutil -ping
certutil -pingadmin
set PROMPT=$P$G
EDYCJA 1
Udało mi się ustalić interfejs API pojedynczego systemu Windows, który powoduje problem - DsGetDcName
Według windbg, certutil -ping wywołuje to tak:
PDOMAIN_CONTROLLER_INFO pdci;
DWORD ret = ::DsGetDcName(NULL, NULL, NULL, NULL, DS_DIRECTORY_SERVICE_PREFERRED, &pdci);
Na mojej stacji roboczej limit czasu wynosi 30 sekund, a następnie zwraca kod błędu 1355, co oznacza, ERROR_NO_SUCH_DOMAIN
że dla określonej domeny nie jest dostępny kontroler domeny lub domena nie istnieje.
Na innym komputerze, którym przypadkowo jest Windows Server 2003, prawie natychmiast zwraca prawidłową nazwę kontrolera domeny w zwróconej DOMAIN_CONTROLLER_INFO
strukturze.
Teraz pytanie brzmi: czego brakuje na mojej stacji roboczej, aby ten interfejs API znalazł właściwy kontroler domeny?