Так, як не дивно у VBScript (точніше у Windows Scripting Host) теж є можливості запуску скриптів на віддалених комп'ютерах. Правда ця функція не отримала велику популярність, і швидше за все через те, що вимагає чимало підготовчих заходів, які вкрай погано документовані.
Отже, для запуску скрипта на іншому комп'ютері за допомогою VBS нам знадобиться:
- Права адміністратора на віддаленому комп'ютері. Ну це само собою зрозуміло, і потрібно майже у всіх методах запуску які я перераховував в блозі.
- Дозволити WSH Remote Scripting створивши строкової параметр Remote рівний "1" в ключі реєстру HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows Script Host \ Settings
- Через бага 311269. на системах з Windows XP необхідно виконати команду wscript -regserver. В SP3 помилка ніби як виправлена.
- Необхідно відключити Firewall (або дозволити звернення до DCOM в винятки) на обох комп'ютерах. Так, так, і на тому з якого запускаєте сценарій, теж (спасибі Кості Леоньтеву, я б не здогадався 🙂)
- У системах XP SP2 і вище необхідно змінити параметри безпеки (це можна зробити за допомогою групової політики). У вузлі Computer Configuration \ Windows Settings \ Security Settings \ Local Policies \ Security Options \ міняємо дозволу наступним чином:
- DCOM: Machine Access Restrictions in Security Descriptor Definition Language (SDDL) syntax
Видати групам Anonymous Logon і Everyone дозволу Allow Local і Allow Remote Access - DCOM: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax
Групі Administrators дозволу Allow Local Launch, Allow Remote Launch, Allow Local Activation, Allow Remote Activation
Групі Everyone - Allow Local Launch, Allow Local Activation.
- DCOM: Machine Access Restrictions in Security Descriptor Definition Language (SDDL) syntax
Усе! 🙂 Тепер можна користуватися 🙂
Для прикладу створимо сценарій c: \ test.vbs (він буде запущений на віддаленому комп'ютері):
Ну і найголовніше - сценарій який буде безпосередньо запускати файл на віддаленому комп'ютері, RunRemoteScript.vbs:
У другій сходинці задається ім'я запускається сценарію, і ім'я комп'ютера.
PS: Щоб змусити працювати цей сценарій я витратив чимало часу, особливо поки знайшов пункт 5 😉 І то, в результаті у мене вийшло виконати сценарій лише на машині з Windows XP (SP3). На комп'ютері з Vista нічого не вийшло - можливо потрібні якісь додаткові пункти щоб обійти нові удосконалення безпеки 🙂 Так що якщо у вас раптом виникли якісь проблеми з цією штукою - google вам в руки і удачі 😉