RPC ย่อมาจาก Remote Procedure Call เป็นเทคโนโลยีที่มีมาตั้งแต่แรกของคอมพิวเตอร์ ใช้เทคนิค Interprocess Communication จุดประสงค์หลักคือให้ Client และ Server สื่อสารผ่านเครือข่ายได้ อุปกรณ์ก็เช่นกัน
ง่ายๆ คือเมื่อแชร์ข้อมูล/ข้อมูลผ่านเครือข่าย RPC จะทำงานแทน RPC ยังมีบทบาทสำคัญในการจัดการอุปกรณ์ผ่านเครือข่าย และใช้กับอุปกรณ์ควบคุมเช่น สแกนเนอร์ พิมพ์
สาเหตุของข้อผิดพลาด 'The RPC Server is Unavailable'
เนื่องจาก RPC เป็นการสื่อสารระหว่างอุปกรณ์ มีโมดูลหลายอย่างที่อาจก่อให้เกิดข้อผิดพลาด สาเหตุหลักมีดังนี้:
- บริการที่ RPC ต้องการถูกปิดใช้งาน – กรณีส่วนใหญ่ เกิดเมื่อคอมพิวเตอร์อย่างน้อยหนึ่งเครื่องในการเชื่อมต่อ มีบริการบังคับ (mandatory services) ถูกปิด ใช้ Services Utility บังคับเริ่มบริการที่ปิดอยู่
- Remote Assistance ถูกบล็อกโดย Firewall – Windows Firewall และไฟร์วอลล์ภายนอกบางตัวบล็อก Remote Assistance โดยค่าเริ่มต้น ต้องเพิ่ม Exception สำหรับการเชื่อมต่อประเภทนี้
- IPV6 หรือ File Printer Sharing ถูกปิด – บางประเภท RPC Server ต้องการ IPV6 และ File Printer Sharing เปิดอยู่บนการเชื่อมต่อเครือข่ายปัจจุบัน ผู้ใช้หลายรายแก้ได้โดยเปิดทั้งสองจาก Network Properties
- IP Address ชนกับ RPC Server – IP ที่คลุมเครืออาจก่อให้เกิดข้อผิดพลาด แก้ได้โดย Flush แล้ว Renew IP Address
- RPC Services ถูกปิดผ่าน Registry – Utility บางตัวหรือการแทรกแซงด้วยตนเองอาจบังคับให้บริการ RPC ค้างปิด แก้ได้โดย用 Registry Editor บังคับเริ่มบริการ RPC
ก่อนเริ่มแก้ไข ตรวจสอบว่า: มีอินเทอร์เน็ต, ล็อกอินเป็น Admin, หากอยู่ในสภาพแวดล้อมงาน ควรปรึกษา Network Admin เพราะแต่ละที่มีการตั้งค่าเครือข่าย/PC แตกต่างกัน
วิธีแก้ที่ 1: ตรวจสอบ RPC Service บนคอมพิวเตอร์
สิ่งแรกที่ต้องตรวจสอบคือ RPC Service บนเครื่อง ความขัดแย้งกับแอปภายนอกหรือการเปลี่ยนแปลงระบบอาจทำให้ RPC Service เปลี่ยนจาก Default (Automatic) เป็น Manual ทำให้ RPC ไม่เริ่มอัตโนมัติเมื่อต้องการ
- กด Windows + R พิมพ์ services.msc กด Enter
- ในหน้าต่าง Services ค้นหาบริการต่อไปนี้:
Remote Procedure Call (RPC) RPC Endpoint Mapper หรือ Remote Procedure Call (RPC) Locator DCOM Service Process Launcher
คลิกขวาแต่ละบริการ เลือก Properties
- ใน Properties ตรวจสอบว่า Service เป็น Started และ Startup type เป็น Automatic
- บันทึก ออก รีสตาร์ทคอมพิวเตอร์ ตรวจสอบว่าข้อผิดพลาดแก้ไขหรือไม่
วิธีแก้ที่ 2: เปิดใช้งาน Remote Assistance ใน Firewall
Remote Assistance อนุญาตให้ผู้อื่นดู/ควบคุมหน้าจอคุณ อาจเกี่ยวข้องกับ RPC Server เพราะ Client และ Server แลกเปลี่ยนข้อมูลซับซ้อน หาก Firewall ไม่ได้ตั้งค่าถูกต้อง จะเจอข้อผิดพลาด
หากอยู่ในองค์กร ให้ติดต่อ Network Admin ในการ Troubleshoot การปิด Firewall หลักเป็นวิธีหาจุดบกพร่อง ในที่นี้จะ示วิธีที่ผู้ใช้ทำได้ที่ Firewall ส่วนตัว
- กด Windows + R พิมพ์ control กด Enter
- ใน Control Panel ค้นหา Firewall ที่มุมขวาบน จากผลลัพธ์ คลิก Allow an app through Windows Firewall (ย่อยของ Windows Firewall)
- คลิก Change settings ตรวจสอบว่า Entry ที่บังคับ RPC เปิดอยู่ เช่น Remote Assistance
- รีสตาร์ทคอมพิวเตอร์ ตรวจสอบว่าข้อผิดพลาดแก้ไขหรือไม่
วิธีแก้ที่ 3: ปิด Selective Startup (Disabling Selective Startup)
Selective Startup คือวิธีบูตที่โหลดรายการน้อยที่สุด ใช้ตอน Troubleshoot ปัญหาที่เกี่ยวกับแอปภายนอก แต่ตอนบูตแบบนี้ RPC Components ก็จะไม่โหลดทั้งหมด เราจะเลือก Normal Startup แทน
- กด Windows + R พิมพ์ msconfig กด Enter
- ใน Startup Configuration แท็บ General เลือก Normal startup
- กด Apply บันทึก ออก จะมีพรอมต์รีสตาร์ท ให้รีสตาร์ททันที ตรวจสอบว่าข้อผิดพลาดแก้ไขหรือไม่
วิธีแก้ที่ 4: เปิด IPV6 และ File & Printer Sharing สำหรับเครือข่ายที่เชื่อมต่อ
บางกรณีเจอ Error 1722: The RPC server is unavailable จากการขัดขวางของการเชื่อมต่อเครือข่ายจากการตั้งค่าบางอย่าง ผู้ใช้หลายรายแก้ได้โดยพบว่า Printer Sharing for Microsoft Networks และ Protocol Version 6 (TCP/IPv6) ถูกปิดใน Network Properties
เมื่อเปิดทั้งสองอย่าง ปัญหาก็หาย ขั้นตอน:
- กด Windows + R พิมพ์ ncpa.cpl กด Enter เปิด Network Connections
- คลิกขวาเครือข่ายที่เชื่อมต่ออยู่ > Properties
- แท็บ Networking เลื่อนลงหา File and Printer Sharing for Microsoft Networks และ Internet Protocol Version 6 (TCP/IPv6) ให้ติ๊กถูกทั้งสอง > OK
- รีสตาร์ทคอมพิวเตอร์ ตรวจสอบว่าปัญหาแก้ไขหรือไม่
หายังเจอ Error 1722 ให้ลองวิธีถัดไป
วิธีแก้ที่ 5: Flush DNS และ Renew IP
ผู้ใช้บางรายแก้ได้โดยใช้ Elevated Command Prompt Flush DNS และ Renew การเชื่อมต่อ แต่ต้องแน่ใจว่าบริการ RPC ทำงานอยู่ (ทำตามวิธีที่ 1)
หากแน่ใจว่าบริการทำงานอยู่ ขั้นตอน Flush DNS และ Renew:
- กด Windows + R พิมพ์ cmd กด Ctrl + Shift + Enter เปิด Elevated Command Prompt (คลิก Yes หากมี UAC)
- ใน Command Prompt พิมพ์คำสั่ง กด Enter Flush IP Config:
ipconfig /flushdns
- พิมพ์คำสั่ง กด Enter Renew IP Config:
ipconfig /renew
- ปิด Command Prompt ทำซ้ำขั้นตอนที่เคยก่อให้เกิด Error 1722 ดูว่าแก้ไขหรือไม่
วิธีแก้ที่ 6: ใช้ Registry Editor บังคับเริ่ม RPC Services
ผู้ใช้บางรายแก้ได้โดยแก้ Registry บังคับเริ่มบริการ RPC (ต้องแน่ใจว่าบริการ RPC ทำงานอยู่ – วิธีที่ 1)
ขั้นตอน:
- กด Windows + R พิมพ์ regedit กด Enter เปิด Registry Editor (คลิก Yes หากมี UAC)
- นำทางไป:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs
(ไปเองหรือวางที่อยู่ในแถบนำทาง) ด้วย RpcSs ที่เลือก ไปขวา ดับเบิลคลิก Start - ใน Edit Dword Value ของ Start ตั้ง Base = Hexadecimal Value data = 2 เพื่อเปิด Remote Procedure Call (RPC)
- นำทางไป:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DcomLaunch
- ดับเบิลคลิก Start ตั้ง Base = Hexadecimal Value data = 2 เปิด DCOM Server Process Launcher
- นำทางไป:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcEptMapper
- ดับเบิลคลิก Start ตั้ง Base = Hexadecimal Value Data = 2
- ปิด Registry Editor รีสตาร์ทคอมพิวเตอร์ ตรวจสอบว่าปัญหาแก้ไขหรือไม่
นอกจากนี้ ยังมีวิธีแก้เพิ่มเติมสำหรับ 'RPC Server is Unavailable' ในบทความ Fix: The remote procedure call failed บนเว็บของเรา ทั้งสองข้อผิดพลาดคล้ายกันมาก ใช้วิธีแก้ร่วมกันได้