1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть III. Реестр

20.10.13

База данных - Администрирование СУБД

Описание возможностей Windows Script Host и Windows Management Instrumentation. Подборка "скриптовых" функций и процедур. Работа с реестром.

Предыдущие:

1С и WSH и WMI. ОТ ТЕОРИИ К ПРАКТИКЕ. Часть I: //infostart.ru/public/165702/
1С и WSH и WMI. ОТ ТЕОРИИ К ПРАКТИКЕ. Часть II: //infostart.ru/public/166391/

Практическая реализация:

Обработка 1С:Системный Администратор (WSH&WMI): //infostart.ru/public/172189/


ТЕОРИЯ


Microsoft Windows Script Host (WSH) - сервер сценариев Windows.

Используется в качестве инструмента разработки и выполнения специальных сценариев для операционной системы Windows.
Сценарии WSH пишутся на специализированных языках: Microsoft Visual Basic Script Edition (VBScript) или Microsoft JScript.
Свойства и методы объектов Microsoft WSH доступны также в приложениях, способных выступить в роли OLE-клиента.

WSH позволяет работать с:

    - Файловой системой;
    - Ресурсами локальной сети;
    - Реестром;
    - Специальными папками и ярлыками Windows;
    - Процессами. Запускать и контролировать их выполнение.

WSH позволяет взаимодействовать с Microsoft ActiveX:

    - ActiveX Data Object (ADO) — Доступ к базам данных;
    - Active Directory Service Interface (ADSI) — Службы каталогов;
    - Windows Management Instrumentation (WMI) — Инструментарий управления Windows.

Подробно свойства и методы объектов MS Windows Script Host изложены в файле Automation.chm, доступном в ссылках на скачивание.

Windows Management Instrumentation (WMI) - инструментарий управления Windows.

WMI - это одна из базовых технологий для централизованного наблюдения и управления компьютерной инфраструктуры под управлением платформы Windows.
WMI – это расширенная и адаптированная компанией Microsoft реализация стандарта WBEM (WebBased Enterprise Management) компании DMTF Inc.
Основа WBEM - Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы.

WMI позволяет работать с:
    - Системой;
    - Приложениями;
    - Оборудованием;
    - Сетями;
    др. управляемыми компонентами.

Подробно о Windows Management Instrumentation (англ.): http://msdn.microsoft.com/en-us/library/windows/desktop/aa394572%28v=vs.85%29.aspx


ПРАКТИКА


// Корневые ключи реестра и их сокращения:
// HKEY_CURRENT_USER - HKCU
// HKEY_LOCAL_MACHINE - HKLM
// HKEY_CLASSES_ROOT - HKCR
// HKEY_USERS - HKEY_USERS
// HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG


Список процедур и функций:- ЗарегистрироватьФайлDLL() - Ф., позволяющая зарегистрировать файл типа DLL.- УстановленаПрограмма() - Ф., позволяющая проверить установлена/не установлена программа.- Computer_Programs_Product() - Ф., позволяющая получить информацию об установленных программах лок./уд. компьютере (WMI).- Computer_Programs_Registry() - Ф., позволяющая получить информацию об установленных программах лок./уд. компьютере (REGISTRY).- ИзменитьСтартовуюСтраницуInternetExplorer() - Ф., позволяющая изменить стартовую страницу Internet Explorer лок. компьютера.- RegRead() - Ф. чтения значения ключа или группы из системного реестра.- RegWrite() - Ф. создания в системном реестре ключа или группы.- RegDelete() - Ф. удаления ключа или группы из системного реестра.- Computer_RegistryInformation() - Ф., позволяющая получить информацию о реестре лок./уд. компьютера, в т.ч. дату установки Windows.- Computer_Description() - Ф., позволяющая записать в описание лок./уд. компьютера имя домена\пользователя, работающего на нем.WindowsInfo() - Ф., позволяющая получить информацию об установленной Windows на лок. компьютере.- get_windows_key_via_reg_wmi.vbs. VBS-Срипт.  Получение серийного номера Windows.

// Функция, позволяющая зарегистрировать файл типа DLL.
//
// ВАЖНО:

//
// Windows User Account Control (UAC) в ОС Vista и выше
// может помешать регистрации DLL.
//
// В этом случае необходимо:
// Вручную зарегистрировать фалй от имени "Администратора":
// "C:\Documents and Settings\All Users\1С_COMObject\X.DLL"
// Отключать UAC не рекомендуется.
//
// Возвращает:
//     В случае успеха - COMОбъект.
//     Иначе - Неопределено.
// Параметры:
//     ИмяКаталогаDLL - Относительно переменной среды %ALLUSERSPROFILE%.
//     ИмяФайлаDLL - Короткое имя файла DLL.
//     ИмяМакетаDLL - Имя двоичного макета объекта, в котором находится файл DLL.
//     ИмяCOMОбъекта - Имя создаваемого COMОбъекта.
//
&НаСервере
Функция ЗарегистрироватьФайлDLL(ИмяКаталогаDLL = "1С_COMObject" , ИмяФайлаDLL = "X.DLL", ИмяМакетаDLL = "XY", ИмяCOMОбъекта = "XYZ")
    
    ЭтотОбъект = РеквизитФормыВЗначение("Объект");
    
    ALLUSERSPROFILE = Неопределено;
    Попытка
        WshShell = Новый COMОбъект("WScript.Shell");
        WshSysEnv = WshShell.Environment("Process");
        ALLUSERSPROFILE = WshSysEnv.Item("ALLUSERSPROFILE");
    Исключение
         Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
         Возврат Неопределено;
    КонецПопытки;

    КаталогDLL = Новый Файл(ALLUSERSPROFILE + "\" + ИмяКаталогаDLL);
    Если НЕ КаталогDLL.Существует() Тогда
        Попытка
            СоздатьКаталог(КаталогDLL.ПолноеИмя);
        Исключение
            Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
            Возврат Неопределено;
        КонецПопытки;
    КонецЕсли;
    
    ИмяФайлаDLL = КаталогDLL.ПолноеИмя + "\" + ИмяФайлаDLL;
    ФайлDLL = Новый Файл(ИмяФайлаDLL);
    Если НЕ ФайлDLL.Существует() Тогда
        Попытка
            МакетDLL = ЭтотОбъект.ПолучитьМакет(ИмяМакетаDLL);
            МакетDLL.Записать(ФайлDLL.ПолноеИмя);
        Исключение
            Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
            Возврат Неопределено;
        КонецПопытки;
    КонецЕсли;
    
    Попытка
        // "/s" - "тихий" режим REGsvr32: Окна сообщений не отображаются.
        // 0 - Без окна WshShell.
        // Истина - Дождаться завершения.
        WshShell = Новый COMОбъект("WScript.Shell");
        WshShell.Run("REGsvr32 /s " + ИмяФайлаDLL, 0, Истина);
    Исключение
        //Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
        ЗапуститьПриложение("REGsvr32 /s " + ИмяФайлаDLL, , Истина);
    КонецПопытки;
    
    // Проверка регистрации.
    НовыйCOMОбъект = ПолучитьНовыйCOMОбъект(ИмяCOMОбъекта);
    
    Возврат НовыйCOMОбъект;

КонецФункции

&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьНовыйCOMОбъект(ИмяCOMОбъекта)
    
    Попытка
        НовыйCOMОбъект = Новый COMОбъект(ИмяCOMОбъекта);
        Возврат НовыйCOMОбъект;
    Исключение
        Возврат Неопределено;
    КонецПопытки;
    
    Возврат Неопределено;
    
КонецФункции


// Функция, позволяющая проверить установлена/не установлена программа.
// Проверяет путь в системном реестре и существование запускаемого файла для программы,
// установку которой на компьютере необходимо проверить.

// Используется функция GetFileInfo, описанная в Части II.
//
&НаКлиентеНаСервереБезКонтекста
Функция УстановленаПрограмма(Программа = "LibreOffice")
 

    Файл = Неопределено;
    Если Программа = "LibreOffice" Тогда
        Файл = RegRead("HKLM\Software\LibreOffice\LibreOffice\3.6\Path");
    Иначе
        // Файл = ...
    КонецЕсли;
    
    Если Файл = Неопределено Тогда
        Возврат Ложь;
    КонецЕсли;
    
    ПрограммаЗапуска = GetFileInfo(Файл);
    
    Если НЕ ПрограммаЗапуска = Неопределено Тогда
        // ... Дополнительная проверка при необходимости имени, размера, ....
        Возврат Истина;

    КонецЕсли;
    
    Возврат Ложь;
    
КонецФункции


// Функция, позволяющая получить информацию об установленных программах локальном/удаленном компьютере.
// Параметры:
//    Computer - Имя компьютера.
// Возвращаемое значение:
//    Таблица значений.
//
// Примечания:
// 1. Только программы, установленные с помощью Windows Installer.
// 2. Полнота информации в Windows 2000/XP/2003 ограничена.
// 3. Может не работать на 64-битных ОС.
// 4. Медленнее чтения из регистра.
//

// При запуске на  на компьютере под управлением Windows Server 2003 возможна ошибка чтения данных,
// т.к. поставщик объекта Win32_Product по умолчанию в Windows Server 2003 не устаналивается
.
// Установка:
// Панель управления - Установка и уделение программ - Установка компонентов Windows - Средства наблюдения и управления:

// Компонента: "Поставщик установщика Windows через WMI"
.
//
// Рекомендация:
// Перед применением проверить на компьютерах
// Windows Management Instrumentation (WMI):
// 1. Состояние служб.
// 2. Разрешение в брандмауэре.
// Подробности на странице: //infostart.ru/public/165702/
//

&НаСервереБезКонтекста
Функция Computer_Programs_Product(Computer = ".")
    
    Win32_ProductInfo = Новый ТаблицаЗначений;
    Win32_ProductInfo.Колонки.Добавить("Caption");
    Win32_ProductInfo.Колонки.Добавить("Description");
    Win32_ProductInfo.Колонки.Добавить("HelpLink");
    Win32_ProductInfo.Колонки.Добавить("HelpTelephone");
    Win32_ProductInfo.Колонки.Добавить("IdentifyingNumber");
    Win32_ProductInfo.Колонки.Добавить("InstallDate");
    Win32_ProductInfo.Колонки.Добавить("InstallLocation");
    Win32_ProductInfo.Колонки.Добавить("InstallSource");
    Win32_ProductInfo.Колонки.Добавить("InstallState");
    Win32_ProductInfo.Колонки.Добавить("Language");
    Win32_ProductInfo.Колонки.Добавить("LocalPackage");
    Win32_ProductInfo.Колонки.Добавить("Name");
    Win32_ProductInfo.Колонки.Добавить("PackageCache");
    Win32_ProductInfo.Колонки.Добавить("PackageCode");
    Win32_ProductInfo.Колонки.Добавить("PackageName");
    Win32_ProductInfo.Колонки.Добавить("ProductID");
    Win32_ProductInfo.Колонки.Добавить("RegCompany");
    Win32_ProductInfo.Колонки.Добавить("RegOwner");
    Win32_ProductInfo.Колонки.Добавить("SKUNumber");
    Win32_ProductInfo.Колонки.Добавить("Transforms");
    Win32_ProductInfo.Колонки.Добавить("URLInfoAbout");
    Win32_ProductInfo.Колонки.Добавить("URLUpdateInfo");
    Win32_ProductInfo.Колонки.Добавить("Vendor");
    Win32_ProductInfo.Колонки.Добавить("Version");
    
    Попытка
        
        WinMGMT = ПолучитьCOMОбъект("winmgmts:\\" + Computer + "\root\cimv2");
        Win32_Product = WinMGMT.ExecQuery("SELECT * FROM Win32_Product");
        
        Для Каждого Product ИЗ Win32_Product Цикл
            ProductInfo = Win32_ProductInfo.Добавить();
            ProductInfo

Вступайте в нашу телеграмм-группу Инфостарт

Windows Windows Script Host WSH Windows Management Instrumentation WMI VBS скрипт script реестр управление конфигурация системная информация удаленный компьютер

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Администрирование СУБД Системный администратор Программист Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    1625    jul.dolganova    8    

21

Администрирование СУБД Пароли Системный администратор 1С 8.3 1С:Розница 2 1С:Управление производственным предприятием Абонемент ($m)

Пароль пользователя СУБД лежит в 1CV8Clst.lst обратимо: кто читает папку srvinfo - достаёт пароли SQL всех баз кластера, минуя права 1С. Обработка показывает, у каких баз пароль извлекается, помечает слабые и выдаёт план защиты. К СУБД не подключается, ничего не пишет - только читает файл.

10 стартмани

06.08.2026    712    12    nedomolkov.ivan    0    

7

Администрирование СУБД Системный администратор 1С 8.3 Бесплатно (free)

Прогнал набор диагностических скриптов на двух рабочих базах: боевой с 580 сеансами и малонагруженной. Разбираю пять находок: статистика 97-дневной давности, 598 запросов со сканами, журнал транзакций в 73 % от данных, tempdb в один файл и 81 % ожиданий на параллелизме, который чинить не надо. Плюс три грабли, из-за которых самописный диагностический скрипт падает на чужом сервере. Семь рабочих скриптов внутри, копируются в SSMS как есть.

05.08.2026    999    nedomolkov.ivan    8    

7

Администрирование СУБД Журнал регистрации Системный администратор Программист 1С 8.3 Бесплатно (free)

Журнал регистрации на нагруженной базе перестаёт открываться: файлы растут на гигабайты в день, просмотр виснет, история недоступна. Рассказываю, как мы вынесли журнал трёх продуктивных баз в ClickHouse: 35 млрд событий, поиск всех ошибок за сутки — 0,11 секунды, привычная форма журнала для пользователей и падение числа ошибок в проде в 23 раза за полгода. Архитектура, схема таблицы, грабли интеграции и все цифры с прода.

04.08.2026    1250    nedomolkov.ivan    0    

8

Администрирование СУБД 1С 8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

База 1С:ERP размером 646 Гб, полное маскирование за 5 часов - без создания промежуточной незащищенной копии. Разбираем бесплатный pg_anon на сквозном примере с реального продуктива.

27.07.2026    2455    Tantor    16    

13

HighLoad оптимизация Администрирование СУБД Программист Россия Бесплатно (free)

Если вы работаете с 1С на PostgreSQL и жалуетесь на тормоза — скорее всего, дело в join predicate pushdown, которого в стандартном PostgreSQL нет. В MS SQL Server этот механизм работает «из коробки», и при миграции именно запросы к виртуальным таблицам 1С бьют по производительности сильнее всего. В этой статье — реальный кейс от Postgres Professional с разбором плана выполнения, ручным экспериментом и доработкой планировщика СУБД, которая ускорила запросы от 22 до 54 000 раз.

16.06.2026    8810    postgres_professional    13    

12

HighLoad оптимизация Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Вышел релиз СУБД Tantor Postgres 18, и мы хотим рассказать о его новых возможностях для работы с приложениями на платформе "1С:Предприятие". В обзоре разберем улучшения планировщика, по традиции коснемся работы временных таблиц и не обойдем вниманием вспомогательные утилиты, которые упрощают поиск и диагностику проблем в высоконагруженных системах. За каждым пунктом - реальные запросы 1С, реальные рабочие базы и сотни часов тестирования!

16.06.2026    3357    Tantor    7    

10

Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Россия Бесплатно (free)

База 1С за несколько лет эксплуатации разрослась, - стала большой, медленно работает, требует много места и времени для копирования и прочего обслуживания. Нужна ли обязательно свертка или можно обойтись более «мягкими» средствами. Делюсь своим опытном как для новых конфигураций, так и для старых УПП, УТ 10…

01.06.2026    8058    2ncom    30    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TrinitronOTV 16 17.12.12 09:46 Сейчас в теме
тоже присоединюсь к сообществу: большое спасибо за данную публикацию, полезная информация
2. Поручик 4612 17.12.12 11:22 Сейчас в теме
(0) Ради трёх функций надо выделять в отдельную публикацию? Ты случайно не рейтинг с манями нарабатываешь?
4. StepByStep 3703 17.12.12 11:42 Сейчас в теме
(2) Поручик,
1-я часть - То, чем сам пользуюсь, что заинтересовало.
2-я часть - Тематическая - "Работа с Файловой системой".
3-я часть - Тематическая - "Работа с Реестром".
Надо было конечно сразу - по темам, было бы структурировано, что кажется более логично.
Но теперь - что сделано - то сделано.
21. amon_ra 63 08.05.13 12:39 Сейчас в теме
(4) спасибо за статью. Интересует функция ЗарегистрироватьФайлDLL() от имени администратора можно ли зарегать компоненту и что бы uac не появлялась?
22. StepByStep 3703 20.10.13 19:28 Сейчас в теме
(21) amon_ra,
Нативную внешнюю компоненту ?
3. Поручик 4612 17.12.12 11:23 Сейчас в теме
(0) Кстати, Automation.chm ты сам делал?
5. StepByStep 3703 17.12.12 11:47 Сейчас в теме
(3) Поручик,
Automation.chm взял готовым, где взял - теперь уже и не помню.
19. AlexO 136 21.02.13 15:12 Сейчас в теме
(5)
теперь уже и не помню.

я знаю, где взял :)
15. jmw 61 30.01.13 05:47 Сейчас в теме
(3) Порутчик, Automation.chm лежит на Скрипт кодинг-е
http://www.script-coding.com/
6. SeiOkami 3643 17.12.12 11:51 Сейчас в теме
StepByStep, Спасибо большое за интересные статьи, но всё же и вправду объединить их в одну статью было бы лучше. А то как то даже не прилично выглядит)
И всё же плюс =)
7. sstar90 17.12.12 12:35 Сейчас в теме
Спасибо за статью. Плюс
8. tvixeg 504 18.12.12 12:33 Сейчас в теме
интересует как с помощью WSH можно одновременно изменить размер управляемой формы и перетащить ее верх за границу экрана, сделав таким образом рабочий стол на весь экран. Встречал тут обработку которая может или перетащить за границу экрана, или изменить размер, а одновременно не может. Исходников там нет все зашито в dll.
9. StepByStep 3703 18.12.12 22:44 Сейчас в теме
(8) tvixeg,
WSH - Это сценарии команд, запускаемые интерпретаторами:
- Wscript.exe (если надо, выводит диалоговое окно);
- Cscript.exe (никаких диалоговых окон не выводит).
Wscript.exe - Используется по умолчанию в Windows.

WSH Имеет минимум возможностей по работе с окнами:
- Запустить программу в скрытом/минимальном/стандартном/текущим размером окна.
- Создать ярлык, запускающий программу в максимальном/стандартном/свернутым окном.
- Минимизировать/Отменить минимизацию окон открытых приложений.
- Определить количество открытых окон проводника.
- Расположить окна каскадом.
- Вывести окно сообщений.
- Активизировать окно интересующего приложения.
10. iceflash 4 20.12.12 02:34 Сейчас в теме
(8) tvixeg,
То, о чем вы говорите делается посредством вызовов Win API функций
11. mzelensky 53 20.12.12 07:54 Сейчас в теме
мне очень понравилось!
12. AlexBar 51 21.12.12 13:09 Сейчас в теме
Подскажите, как получить из сетевого окружения все компы сети? Доступные домены, IP и имена каждого компа, принадлежность к домену?
StepByStep; +1 Ответить
13. StepByStep 3703 23.12.12 12:31 Сейчас в теме
(12) AlexBar,
Данная часть "WSH. ОТ ТЕОРИИ К ПРАКТИКЕ" посвящена реестру.
Интересующая Вас функция "СетевоеОкружение()" добавлена мной сегодня в Часть I, в сборной, так сказать, "солянке".
Спасибо.
14. StepByStep 3703 29.12.12 16:48 Сейчас в теме
Добавлена новая Функция ЗарегистрироватьФайлDLL().
16. StepByStep 3703 30.01.13 11:44 Сейчас в теме
Добавлены 2 новых функции:
1. RegistryInformation:
Функция, позволяющая получить информацию о реестре локального/удаленного компьютера,
а также дату установки Windows.
2. DescriptionComputer:
Функция, позволяющая записать в описание компьютера (локального/удаленного) имя домена\пользователя, работающего на нем.
Описание компьютера отображается в качестве комментария в сетевом окружении.
17. StepByStep 3703 30.01.13 13:55 Сейчас в теме
Добавлена новая функция WindowsInfo:
Функция, позволяющая получить информацию об установленной Windows на локальном компьютере.
18. StepByStep 3703 21.02.13 13:42 Сейчас в теме
Добавлена новая функция Computer_Programs():
Функция, позволяющая получить информацию об установленных программах локальном/удаленном компьютере.
20. StepByStep 3703 26.02.13 09:39 Сейчас в теме
Функция Computer_Programs() заменена на Computer_Programs_Product().
Добавлена новая функция Computer_Programs_Registry().
Функции, позволяющие получить информацию об установленных программах локальном/удаленном компьютере.
23. StepByStep 3703 20.10.13 19:29 Сейчас в теме
20.10.2013.
Добавлен vbs-Срипт. Получение серийного номера Windows.
24. Ovrfox 14 16.12.15 15:02 Сейчас в теме
Привет всем
Использование * в запросах иногда приводит к существенным временным затратам
Например время исполнения запроса - несколько секунд, а именнованного несколько милисекунд
Win32_ComputerSystem = WinMGMT.ExecQuery("SELECT * FROM Win32_ComputerSystem");
        
        Для Каждого ComputerSystem ИЗ Win32_ComputerSystem Цикл
            NewDescription = ComputerSystem.UserName;
        КонецЦикла;

Win32_ComputerSystem = WinMGMT.ExecQuery("SELECT UserName FROM Win32_ComputerSystem");
        
        Для Каждого ComputerSystem ИЗ Win32_ComputerSystem Цикл
            NewDescription = ComputerSystem.UserName;
        КонецЦикла;
25. StepByStep 3703 24.12.15 17:25 Сейчас в теме
26. ybatiaev 59 14.05.18 15:52 Сейчас в теме
Добрый день!
Подскажите! Не могу понять!
Запускаю Процесс = WshShell.Exec(СтрокаКоманды), где в переменную СтрокаКоманды уже вписана строка создания архива.

В строке запуска присутствует путь создания архива и он является хранилищем(!). Он вида 192.168.0.100, 192.168.0.101 и т.п.
На некоторых терминалках это запускается(в домене), на некоторых нет(не в домене).
Ругается ан ошибки.
1. В отладчике поймал следующую "Ошибка при вызове метода контекста (GetOwner): Произошла исключительная ситуация (SWbemObjectEx): Not found". GetOwner делается для процесса.

2. если в командную строку включить параметр "/OUT Имя лог файла", то в лог выводится следующее
"Ошибка при выполнении файловой операции '\\192.168.0.100\1c\HANDS\ИмяБазы\ИмяБазы 2018-05-14 14-12-35.n1'. 1326(0x0000052E): Вход в систему не произведен: имя пользователя или пароль не опознаны." (с локальными путями нормально)

А, если запустить из под CMD эту строку запуска - всё отрабатывает "на ура"
Все папки хранилища доступны на этом терминальном сервере, все пути реальные и проверены. Доступ ВЕЗДЕ правильный.
Т.е. как бы из под меня с командной строки всё работает, а вот из под EXEC ругается на нелогин. Значит или запускается под другим пользователем. Под каким я не пойму.
Помогите пожалуйста разобраться.
Для отправки сообщения требуется регистрация/авторизация