Новини високих технологій
» » Віддалені процедури. Виклик віддалених процедур: докладна інструкція

Віддалені процедури. Виклик віддалених процедур: докладна інструкція

26-02-2018, 11:08
1 142
До складу операційної системи Windows будь-якої модифікації, починаючи з версії ХР, входить службовий компонент, що позначається як RPC. Що це таке, рядові користувачі в більшості своїй не знають, тим більше, не здогадуються, для чого потрібна ця служба і як вона працює. У зв'язку з цим пропонується розглянути деякі основні аспекти, пов'язані з самим компонентом, принципами його роботи і областю використання без опису непотрібних і складних технічних термінів. Окремо зупинимося на можливих помилках служби та методики їх швидкого усунення.


Віддалені процедури (виклик віддалених процедур): що це таке?

По всій видимості, багато користувачів, виходячи з назви цього службового компонента, вже зробили висновок про те, що це таке. Дійсно, віддалені процедури (виклик віддалених процедур) мають на увазі якісь дії при виконанні їх не на локальному комп'ютері, а на віддаленому (найчастіше на сервері).
Тобто запит формується на одному терміналі, потім передається на інший, де і виконується, після чого на перший комп'ютер повертається відповідь (звіт) про виконання. Але це тільки примітивне пояснення. Насправді, все набагато складніше, оскільки тут потрібно враховувати протоколи передачі даних (UDP, TCP, HTTP) і багато інші механізми.

Для чого потрібна ця служба?

Незважаючи на основне призначення, віддалений виклик процедур RPC може застосовуватися не на різних комп'ютерах, а на одному. В якості найпростішого прикладу можна навести виклик якоїсь функції однієї програми з іншої програми. Багато музиканти, які працюють з віртуальними студіями і секвенсорами, знають, що в кожному такому додатку є власний модуль редагування або обробки аудіо, який не завжди відповідає поставленим користувачем вимогам. І будь-яка студія дозволяє замість нього підключити будь-яку іншу зовнішню програму.


Наприклад, в налаштуваннях секвенсора FL Studio можна вказати інше додаток (скажімо, Adobe autdition), яке для редагування звукових файлів (семплів) в середовищі основної програми буде використовуватися за замовчуванням. При цьому підключення Adobe autdition до FL Studio буде здійснюватися не через віртуальні хости начебто VST, RTAS або DX, а безпосередньо через задіяння служби віддаленого виклику процедур. Само собою зрозуміло, що цей приклад не єдиний, оскільки область застосування описуваного компонента набагато ширше. Дуже часто дану службу пов'язують ще і з розподілом обчислювального навантаження на термінали, між якими встановлюється інтерактивний зв'язок. При цьому, якщо відбувається рівномірний розподіл навантаження на обчислювальні ресурси декількох комп'ютерів, досягти максимальної продуктивності можна лише за умови обміну невеликими обсягами даних і швидким відгуком між компонентами.

Збій при віддаленому виклику процедури: в чому причина?

На жаль, із-за такої затребуваності, поява збоїв і помилок, пов'язаних з цією службою, – досить часте явище.
Внаслідок цього стає неможливим не тільки використання самого компонента. Іноді навіть не вдається отримати доступ до деяких системних налаштувань, а Windows ХР так і зовсім «злітає», після чого відновити її до нормального робочого стану буває досить проблематично. Ще одна проблема – інструмент онлайн-відновлення DISM, що входить до складу операційної системи.
Саме з порушеннями в його роботі пов'язують появу помилки 1726 яка безпосередньо впливає і на функціонування компонентів служби RPC.
Основними причинами таких збоїв називають виклик засобів перевірки або відновлення системи, коли процес DISM активний або не може коректно завершити роботу (наприклад, при одночасному старті з двох командних консолей інструментів DISM і SFC); коли служба працює паралельно з обслуговуванням компонентів RPC; коли служба блокується антивірусним програмним забезпеченням. Таким чином, якщо спостерігається збій при віддаленому виклику процедур в Windows 7 і вище, перше, що потрібно зробити, – завершити роботу DISM, перезавантажити комп'ютер і запустити службу заново. Якщо це не допоможе, можна спробувати перейти на безпечний режим і на час проведення відновлення повністю відключити антивірусну захист. На додаткові заходи, які допомагають виправити будь-який збій при віддаленому виклику процедури і в будь-якої модифікації Windows, зупинимося окремо. Поки ж подивимося на питання, пов'язані з відключенням цього системного компонента (на жаль, але багато користувачів, які не знають суті запитання, намагаються займатися такими речами).

Можна відключити службу RPC?

Отже, давайте подивимося, наскільки реально деактивувати виклик віддалених процедур. Віддалені процедури, виходячи з рекомендацій розробників, відключати не можна ні в якому разі. Це важливо! В принципі, сама операційна система зробити цього не дозволить. Є, звичайно, деякі обхідні шляхи, які передбачають використання додаткового програмного забезпечення, але зі зрозумілих причин, назви таких програм не наводяться, оскільки при їх неправильному використанні вся система може прийти в непридатність.

Наслідки відключення процесів RPC

Навіть якщо вдасться якимось чином відключити видалені процедури (виклик віддалених процедур), наслідки, на жаль, можуть бути самими непередбачуваними. Як вже говорилося, Windows XP може взагалі перестати працювати, а в ОС рангом вище, як наслідок, може з'явитися величезна кількість системних збоїв, які вирішити не вийде хоча б по причині відсутності доступу до критично важливих налаштувань і параметрів Windows, причому, навіть в безпечному режимі або при старті зі знімного носія. Тим не менш, збій при виклику віддалених процедур в Windows 10 або більш ранніх версіях операційної системи можна виправити. Метод не найпростіший, тому при його використанні треба бути дуже уважним.

Відключення локатора віддаленого доступу

Отже, основну службу RPC відключати не можна. Але, може бути, є сенс деактивувати деякі з її супутніх компонентів? Так, дійсно, якщо зайти в розділ системних служб і їх компонентів (services.msc), у ньому можна знайти так званий локатор віддаленого виклику процедур.
А ось його можна вимкнути, абсолютно не побоюючись за появу катастрофічних наслідків. Зайшовши в редагування його параметрів, потрібно зупинити роботу компонента і виставити тип запуску на відключений. Програми, які можуть використовувати віддалені процедури, виклик віддалених процедур справлять і так (без його допомоги). Якщо з якихось причин встановлені параметри не спрацюють, можна скористатися інсталяційний диск Windows, при завантаженні з нього викликати командний рядок і вписати наступне: cd X:i386 (X – буква знімного диска); expand explorer.ex_ %TEMP%explorer.exe; expand svchost.ex_ %TEMP%svchost.exe. Після перезавантаження викликається «Диспетчер завдань», і в ньому завершується процес explorer.exe потім в командному рядку прописується поєднання copy %TEMP%explorer.exe %SYSTEMROOT% /y, після чого в «Диспетчері завдань» завершуються абсолютно всі процеси svchost. Тепер слід бути особливо уважним, оскільки по завершенні процесів протягом всього лише шістдесят секунд у командному консолі потрібно встигнути прописати команду copy %TEMP%svchost.exe %systemroot%system32 /y. Якщо у користувача, наприклад, в звичайному або в безпечному режимі є доступ до системного реєстру, у редакторі (regedit) в гілці HKCC необхідно знайти параметр CSConfigFlags і привласнити йому значення у вигляді нуля.

Усунення збою 1726

Нарешті, усунення помилки 1726 також проводиться через реєстр. Але в даному випадку в гілці HKLM потрібно знайти каталог RpcSs, а праворуч відредагувати значення параметра Start.
Його потрібно поміняти з четвірки, зазвичай встановлюється за замовчуванням, на двійку, після чого зробити рестарт системи.

Післямова

Ось, власне, і все, що стосується виклику віддалених процедур. Віддалені процедури, принципи роботи цього компонента у розширеному варіанті можна описувати ще дуже довго, але упор в представленому матеріалі був зроблений на загальному ознайомленні зі службою і деяких методах усунення помилок і збоїв, які вона може викликати в комп'ютерній системі. Рядовим користувачам доведеться запастися терпінням і бути дуже уважними, оскільки одне неправильне дію в реєстрі може привести до повного фарбую операційної системи. Зверніть увагу, що збої такого типу ніякими іншими засобами зразок програм-оптимізаторів і настроювачів параметрів операційних систем Windows не усуваються. При всьому бажанні ні командний рядок, ні, тим більше, втручання в реєстр на рівні редагування ключів в таких програмних пакетах не передбачено.