Групповое переключение клиентских мест на другой SQL-сервер
Рабочие места модуля PMAgent подключаются и работают с SQL-сервером баз данных. Параметры подключения модуля PMAgent к SQL-серверу находятся в файле «connection.ini», который с сервера баз данных(рабочего места администратора) копируется на клиентские компьютеры.
В случае смены наименования SQL-сервера баз данных (например, переноса на другой сервер, переустановки и т.п.) возникает задача перенастроить все клиентские части модуля PMAgent на подключение и работу с новым SQL-сервером баз данных. Задача решается заменой текущего файла «connection.ini» во всех рабочих местах модуля PMAgent на новый, содержащий наименование нового SQL-сервера баз данных.
Ниже, для примера, предложены два способа автоматизированной доставки файла «connection.ini» до рабочих мест модуля PMAgent с использованием ресурсов системного администрирования.
Способ 1: С помощью пакета команд, оформленного в исполняемый файл (*.bat, *.cmd)
Со всех рабочих мест модуля PMAgent, подлежащих обновлению, собрать информацию о каталоге установки экземпляра программы.
Создать текстовый файл, содержащий команду копирования нового файла «connection.ini» с сетевого ресурса в каталог установки модуля PMAgent на компьютере пользователя:
xcopy \\<имя_сервера>\<имя_папки>\connection.ini \\<имя_компьютера>\C$\ProgramData\InfoStroy\PMAgent\<внутреннее_имя_экземпляра>\Bin\*.* /Y /O,
где:
<имя_сервера>\<имя_папки>\connection.ini – полный путь к файлу «connection.ini» на источнике, локальный либо сетевой;
<имя_компьютера>\C$\ProgramData\InfoStroy\PMAgent\<внутреннее_имя_экземпляра>\Bin\ – полный путь к каталогу «Файлы лицензий и настроек» экземпляра PMAgent на компьютере пользователя;
Y — параметр копирования с заменой;
O — параметр копирования с сохранением текущих разрешений (при необходимости).
По аналогии, для каждого компьютера с рабочим местом модуля PMAgent, с новой строки добавить отдельную команду, в которой меняется <имя_компьютера> и, при необходимости, <внутреннее_имя_экземпляра>. В итоге должно получиться количество строк, равное количеству обновляемых рабочих мест.
Готовый файл сохранить с расширением *.bat или *.cmd. Рекомендуется сохранить файл в кодировке DOS (866), чтобы избежать ошибок выполнения при использовании кириллицы в именах папок. При наличии пробелов в именах папок путь необходимо заключить в двойные кавычки.
Получившийся файл (*.bat, *.cmd) необходимо выполнить на сервере (рабочем месте администратора) от учетной записи администратора домена или другой учетной записи, имеющей право на чтение файла на источнике и на запись в каталог получателя. Если на компьютере пользователя активирован контроль учетных записей, выполнение необходимо производить через «Запуск от имени администратора».
Пример.
|
На удаленном компьютере с именем smeta01-w10, входящем в домен, модуль PMAgent установлен в C:\Program Files (x86)\PMAWin1, каталог «Файлы лицензий и настроек» расположен по пути C:\ProgramData\InfoStroy\PMAgent\PMAWin1\Bin.
Новый файл connection.ini находится на сетевом ресурсе \\server01 в общедоступной папке SERVER_PMA, к которой всем пользователям домена предоставлен доступ.
Команда копирования в этом случае будет выглядеть так:
xcopy \\server01\SERVER_PMA\connection.ini \\smeta01-w10\C$\ProgramData\InfoStroy\PMAgent\PMAWin1\Bin\*.* /Y
В примере учетная запись пользователя, от имени которой запускается исполняемый файл с этой командой, имеет права локального администратора на удаленном компьютере.
Способ 2: С использованием программы «PsExec»
Этот способ более удобен для случаев:
-
когда компьютеры находятся в локальной сети без домена;
-
когда для администрирования модуля PMAgent (установки, обновления и т.п.) на компьютерах пользователей выделена отдельная учетная запись;
-
в остальных случаях, при которых требуются учетные данные пользователя.
Выполнение команды копирования нового файла «connection.ini» в данном способе будет выполняться с использованием программы «PsExec».
Со всех рабочих мест модуля PMAgent, подлежащих обновлению, собрать информацию о каталоге установки экземпляра программы.
Создать текстовый файл, содержащий команду копирования нового файла «connection.ini» с сетевого ресурса в каталог установки модуля PMAgent на компьютере пользователя:
xcopy \\<имя_сервера>\<имя_папки>\connection.ini <каталог_настроек_экземпляра>\*.* /Y /O,
где:
<имя_сервера>\<имя_папки>\connection.ini – полный путь к файлу «connection.ini» на источнике, локальный либо сетевой;
<каталог_настроек_экземпляра> – полный путь к каталогу «Файлы лицензий и настроек» экземпляра PMAgent на компьютере пользователя;
Y — параметр копирования с заменой;
O — параметр копирования с сохранением текущих разрешений (при необходимости).
Готовый файл сохранить с расширением *.bat или *.cmd. Рекомендуется сохранить файл в кодировке DOS (866), чтобы избежать ошибок выполнения при использовании кириллицы в именах папок. При наличии пробелов в именах папок путь необходимо заключить в двойные кавычки.
Если на компьютерах в организации модуль PMAgent установлен в разные каталоги, то потребуется создать файл с командой копирования для каждого компьютера или группы компьютеров с одинаковым каталогом.
Получившийся файл (*.bat, *.cmd) необходимо выполнить на компьютере пользователя модуля PMAgent от учетной записи администратора домена или другой учетной записи, имеющей право на чтение файла на источнике и на запись в каталог получателя. Если на компьютере пользователя активирован контроль учетных записей, выполнение необходимо производить через «Запуск от имени администратора».
Для удаленного выполнения с помощью программы «PsExec» команда запуска в общем виде выглядит так:
PsExec.exe \\<имя_компьютера> -u <пользователь> -p <пароль> -c -f -h <исполняемый_файл>
где:
<имя_компьютера> – имя компьютера с модулем PMAgent;
<пользователь> и <пароль> – имя и пароль пользователя, от которого будет запущена операция;
<исполняемый_файл> — полный путь к исполняемому файлу (*.bat, *.cmd);
c — параметр копирования файла на компьютер пользователя;
f — параметр копирования файла с заменой;
h — параметр повышения прав при выполнении (обязательно при включенном контроле учетных записей на компьютере пользователя).
Данную команду необходимо выполнить для каждого компьютера с рабочим местом модуля PMAgent, изменяя при этом параметр <имя_компьютера>.
Для удобства использования команды выполнения с помощью программы «PsExec» для группы компьютеров также можно записать в один исполняемый файл (*.bat, *.cmd).
Прочие параметры программы «PsExec» (см. документацию по программе на русском и английском языках) могут добавляться в команду запуска на усмотрение администратора.
Пример.
|
На удаленном компьютере с именем smeta01-w10 модуль PMAgent установлен в C:\Program Files (x86)\PMAWin1, его каталог «Файлы лицензий и настроек» расположен по пути C:\ProgramData\InfoStroy\PMAgent\PMAWin1\Bin.
Новый файл connection.ini находится на сетевом ресурсе \\server01 в общедоступной папке SERVER_PMA, к которой всем пользователям домена предоставлен доступ.
Команда копирования в этом случае будет выглядеть так:
xcopy \\server01\SERVER_PMA\connection.ini C:\ProgramData\InfoStroy\PMAgent\PMAWin1\Bin\*.* /Y
Данная команда сохранена в файл newconnection.cmd в каталоге C:\UPDATE на текущем компьютере (сервере), на котором будет запускаться выполнение.
Строка для запуска на текущем компьютере удаленного выполнения исполняемого файла newconnection.cmd на компьютере smeta01-w10 будет выглядеть так:
PsExec.exe \\smeta01-w10 -u PMAUpdater -p PMAUpd145 -c -f -h C:\UPDATE\newconnection.cmd
В примере учетная запись пользователя PMAUpdater, от имени которой запускается процесс, имеет права локального администратора на компьютере smeta01-w10.
