ที่เก็บใบรับรองในกล่อง Win7 ของฉันหยุดทำงานอย่างต่อเนื่อง สังเกต:
C: \> 1.cmd C: \> certutil -? | findstr / i ping -ping - อินเตอร์เฟสการร้องขอบริการใบรับรองใบรับรอง Ping Active -pingadmin - อินเตอร์เฟสผู้ดูแลระบบ Ping Active Directory Certificate Services C: \> set PROMPT = $ P ($ t) $ G C: \ (13: 04: 28.57)> certutil -ping CertUtil: คำสั่ง -ping ล้มเหลว: 0x80070002 (WIN32: 2) ใบรับรอง: ระบบไม่พบไฟล์ที่ระบุ C: \ (13: 04: 58.68)> certutil -pingadmin CertUtil: คำสั่ง -pingadmin ล้มเหลว: 0x80070002 (WIN32: 2) ใบรับรอง: ระบบไม่พบไฟล์ที่ระบุ C: \ (13: 05: 28.79)> set PROMPT = $ P $ G C: \>
คำอธิบาย:
- คำสั่งแรกจะแสดงให้คุณเห็นว่ามี
–ping
และ–pingadmin
พารามิเตอร์เพื่อ certutil - การลองพารามิเตอร์ ping ใด ๆ ล้มเหลวด้วยการหมดเวลา 30 วินาที (เวลาปัจจุบันจะเห็นในพร้อมท์)
นี่เป็นปัญหาที่ร้ายแรง มันขันการสื่อสารที่ปลอดภัยทั้งหมดในแอพของฉัน หากใครรู้วิธีการแก้ไขนี้ - โปรดแบ่งปัน
ขอบคุณ
PS
1.cmd เป็นเพียงชุดคำสั่งเหล่านี้:
certutil -? | findstr /i ping
set PROMPT=$P($t)$G
certutil -ping
certutil -pingadmin
set PROMPT=$P$G
EDIT1
ฉันประสบความสำเร็จในการปักหมุด windows API เดียวที่ทำให้เกิดปัญหา - DsGetDcName
จากข้อมูลของ windbg การพิมพ์ของcertutilจะเรียกใช้ดังนี้:
PDOMAIN_CONTROLLER_INFO pdci;
DWORD ret = ::DsGetDcName(NULL, NULL, NULL, NULL, DS_DIRECTORY_SERVICE_PREFERRED, &pdci);
บนเวิร์กสเตชันของฉันหมดเวลา 30 วินาทีแล้วส่งกลับรหัสข้อผิดพลาด 1355 ซึ่งERROR_NO_SUCH_DOMAIN
ไม่มีตัวควบคุมโดเมนพร้อมใช้งานสำหรับโดเมนที่ระบุหรือโดเมนไม่มีอยู่
บนเครื่องอื่นซึ่งบังเอิญเป็น windows server 2003 จะส่งคืนเกือบจะทันทีด้วยชื่อโดเมนที่ถูกต้องภายในDOMAIN_CONTROLLER_INFO
โครงสร้างที่ส่งคืน
ตอนนี้คำถามคือสิ่งที่ขาดหายไปในเวิร์กสเตชันของฉันสำหรับ API นั้นเพื่อค้นหาตัวควบคุมโดเมนที่ถูกต้อง?