Автозагрузка, установка платформы 1С (PowerShell)

14.12.18

База данных - Инструменты администратора БД

Если у вас нет RDP, нет или не настроено AD, а обновить платформу на большом количестве ПК как-то надо, то Вам сюда.

Скачать исходный код

Наименование Файл Версия Размер
Автозагрузка и Установка Платформы 1с (PowerShell):
.epf 865,82Kb
5
.epf 865,82Kb 5 Скачать

Предыстория: 1с PostgreSQL на Centos'e, организована работа удаленных пользователей через нэтбуки (Windows 10).

Подключение: тонкий клиент, права минимальные. (что в 1с, что в ОС на пк).

Задача: автоматизировать обновление платформы на нэтбуках.

Чтобы обновить платформу на множестве устройств нам понадобится: Сетевой диск, учетная запись имеющаю доступ к необходимой директории на сетевом диске.

 

Решение: (загрузка и установка средствами 1с и Powershell)

 

В 1с создаём пользователя: "Установка платформы" с минимальными правами,  для него в конфигураторе снимаем галку

"Защита от опасных действий", чтобы не пугать пользователей лишними сообщениями.

Добавляем обработку в необходимую подсистему, всё лишнее убираем.

 

Сценарий находится в макете (сохраняем с раширением ps1, адаптируем под себя)

Изменяем следующие данные:

$Object.MapNetworkDrive( $DISK, "\\88.88.88.111\server", "true", "Пользователь", "ПарольПользователя" )

88.88.88.111\server" - адрес и имя сетевого диска с обновлениями

"Пользователь", "ПарольПользователя" -  Имя пользователя и Пароль, под которым можно подключиться к диску

$TARGET=$objShell.NameSpace("B:\1C\64Klient\")

1C\64Klient\ - Путь к папке установочных файлов платформы на сетевом диске

$secpasswd = ConvertTo-SecureString "ПарольАдминистратораПК" -AsPlainText -Force

"ПарольАдминистратораПК" - Пароль Администраторской учетной записи на ПК  (на всех нэтбуках единая учетная запись для администратора)

$mycreds = New-Object System.Management.Automation.PSCredential ("ИмяПользователяАдминистратора", $secpasswd)

"ИмяПользователяАдминистратора" - Имя администраторской учетной записи на ПК.

Сохраняем, загружаем обратно в макет.

Порядок работы обработки:

Пользователь запускает подключенную обработку, файл сценария  Powershell сохраняется в каталог на Диск С, Приложение 1с закрывается, запускается сценарий Powershell:

1) Подключение к сетевому диску

2) Копирование файлов установки платформы

3) Отключение сетевого диска

4) Установка платформы от имени администратора (тихий режим установки, от пользователя потребуется 1 раз подтвердить вносимые изменения - (контроль учетных записей Windows ( в 8 проходило без него, в 10  не удалось обойти)).

5) Удаление папки установки и файла сценария
 

Тестировалось на Платформе 8.3.11.3034 (ERP 2.4.5.129)

Обработка Платформа 1С установка PowerShell автозагрузка автоматизация администрирование

См. также

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    28106    83    146    

61

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11885    5    9    

7

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11221    5    8    

9

Занимательный PowerShell

Языки и среды Бесплатно (free)

PowerShell. Что, зачем, как и почему? И причем тут 1С?

16.05.2021    20408    Infostart    31    

173

Оптимизация размера изображений из присоединенных файлов УТ 11.4

Инструменты администратора БД Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

У нас часто возникала ситуация, когда необходимо настроить обмен с сайтом или с внешней системой, но выгружаемые изображения слишком сильно увеличивали объем сообщений обмена, обмен происходил медленно. Да и для самой базы, операции с не оптимизированными изображениями требуют большего количество ресурсов и места на диске. Потому мы собрали свои наработки в одно расширение.

5 стартмани

10.07.2020    19344    34    Neti    9    

17

Самые распространенные заблуждения об индексах в мире 1С

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

"Магия" индексов привела к множеству заблуждений об их работе. Попробуем развеять некоторые из них в контексте 1С.

28.11.2019    63594    Infostart    53    

371

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Инструменты администратора БД Мониторинг Платформа 1С v8.3 Бесплатно (free)

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    32229    Sloth    100    

140
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. blackhole321 1305 14.12.18 14:42 Сейчас в теме
Я правильно понимаю, что на каждый нетбук копируется файл скрипта PowerShell, где открытым текстом вбит пароль локального администратора компьютера (в Вашем случае всех рабочих станций)?
3. login1020 133 14.12.18 14:57 Сейчас в теме
(1) Да так и есть, не самый лучший вариант в плане безопасности, но в моём случае удаленки к ним нет, как и постоянного интернет соединения, а обновлять 60 + машин, плюс заставлять людей приезжать с ними в офис не самое приятное решение.
2. blackhole321 1305 14.12.18 14:51 Сейчас в теме
И возможно имеет смысл рассмотреть вариант простого скрипта без обработок, который запускается с компьютера администратора, примерно следующего содержания:
$session = New-PSSession -ComputerName ИмяКомпьютера -Credential ВашиУчетныеДанные
Invoke-Command -Command ВашаКомандаИлиСкриптБлок -Session $session
4. login1020 133 14.12.18 15:02 Сейчас в теме
(2) Можно по-подробнее?
В моём случае эти нетбуки не в корп сети, интернет соединение у них либо модем, либо wifi местной сети, в которой они находятся, из вне к ним не подключиться.
5. blackhole321 1305 14.12.18 15:11 Сейчас в теме
(4)
из вне к ним не подключиться

Тогда приведенный мной вариант не годится.

В этом случае, можно при конфигурировании устройства создавать scheduled task со скриптом, который скажем запускается при старте компьютера и периодически опрашивает некий сервер обновлений на предмет наличия соответствующих команд, и выполняет необходимые действия.
В этом случае пароль хоть и хранится на локальной машине, однако в зашифрованном виде и добраться до него сложно.
login1020; +1 Ответить
7. login1020 133 14.12.18 15:25 Сейчас в теме
(5) Тут мы просто в планировщике указываем какой скрипт выполнить по расписанию, и т какого пользователя ( от администратора).
Да, удобно и безопаснее, подходит для настройки новых машин, старые не переделать, пока в руки не принесут.
6. blackhole321 1305 14.12.18 15:20 Сейчас в теме
(4)
Что-то типа:

while($true)
{
Start-Sleep -Seconds ВашТаймаут
$result = Invoke-WebRequest -Uri УРЛВашегоСервераОбновлений
# Удобно передавать данные через json
$jsonObject = ConvertFrom-Json -InputObject $result

if (jsonObject.UpdateFlag -eq $true)
{
# Обновляем
}
}
login1020; +1 Ответить
8. kolya_tlt 86 14.12.18 15:48 Сейчас в теме
а есть решение не палить пароль админа?
9. login1020 133 14.12.18 15:53 Сейчас в теме
(8) Оно В (5)
Но с начало руками надо забить задание в планировщик, подвязать скрипт, и его надо будет немного переписать в части запуска установки.
Планировщик
10. login1020 133 14.12.18 15:58 Сейчас в теме
(8) Как вариант можно сохранять файл сценария в Temp файлы и оттуда запускать, там его не найти хотя бы рядовому пользователю, или же через планировщик указывать напрямую от кого и что запускать
11. blackhole321 1305 14.12.18 16:04 Сейчас в теме
(10)
Как вариант можно сохранять файл сценария в Temp файлы и оттуда запускать, там его не найти хотя бы рядовому пользователю

Наверное - это не очень удачно т.к. работает до тех пор, пока кто-либо не озаботился этим вопросом.
Вообще, наверное самым перспективным, будет - развернуть AD + DirectAccess. В этом случае Вы сможете нормально управлять инфраструктурой и всяких танцев с бубном требоваться не будет.
12. login1020 133 14.12.18 16:07 Сейчас в теме
13. blackhole321 1305 14.12.18 16:11 Сейчас в теме
(12)У Вас вся инфраструктура на Linux, только клиенты Windows?
14. login1020 133 14.12.18 16:15 Сейчас в теме
(13) Сервер Линуксовый, на нём же и 1с висит. Клиенты Windows начиная от xp заканчивая 10.
15. blackhole321 1305 14.12.18 16:17 Сейчас в теме
(14)Ну если начиная с XP :), тогда наверное скрипты.
16. u_n_k_n_o_w_n 34 11.01.19 18:37 Сейчас в теме
Как я понимаю после первой установки, следующие платформы можно просто устанавливать простым копированием.

А просто скопировать можно любым пользователем из любого ресурса, лишь бы у пользователя была запись на папку, в которой хранятся установленные платформы. Если конечно КП пользуются windows.
17. login1020 133 12.01.19 14:00 Сейчас в теме
(16) Примерно так, можно сохранять во временные файлы, они всегда доступны для записи
18. RocKeR_13 1325 24.07.19 14:12 Сейчас в теме
Есть же стандартные способы у платформы: настройте автообновление через файл 1CEStart.cfg (https://infostart.ru/public/648457/), а в качестве папки с версиями платформ укажите папку из любого облака. Тот же Disk-O подключается как сетевая папка, что позволит вам на всех компьютерах унифицировать путь к каталогу с платформой
19. login1020 133 24.07.19 15:33 Сейчас в теме
(18) Все бы ничего, но читаем комментарий (2) в теме что Вы прикрепили. Установить под пользователем не получится, нужны права администратора. И GPO тоже нет, потому имеем, что имеем.
20. blackhole321 1305 24.07.19 15:43 Сейчас в теме
(19)
(19)
Все бы ничего, но читаем комментарий (2) в теме что Вы прикрепили. Установить под пользователем не получится, нужны права администратора. И GPO тоже нет, потому имеем, что имеем.

Права администратора нужны, однако в приведенном комментарии Вы устанавливаете удаленно, т.е. логин и пароль администратора у Вас и учетные данные Вы вводите на своем админском компьютере, а не в скрипте на локальной машине.
21. login1020 133 24.07.19 15:53 Сейчас в теме
(20) Это понятно, что логин и пароль администратора в этом случае не хранятся на локальной машине. Но здесь Мы рассматривали вариант, что у нас нет ни AD, ни GPO соответственно. Так как мне использую настройки CFG файла выполнить установку под пользователем без администраторских прав?

Если все это можно было бы задать в CFG на сервере, я был бы только рад.
22. blackhole321 1305 24.07.19 15:57 Сейчас в теме
(21)
Так как мне использую настройки CFG файла выполнить установку под пользователем без администраторских прав?

Почему без админских прав то?
Если на клиентской стороне есть статический ip адрес, то Вы можете подключиться со своего компьютера при помощи powershell и выполнить все необходимые действия, какие Вам нужны. Для этого не нужна AD и не нужны GPO.
24. login1020 133 24.07.19 16:18 Сейчас в теме
(22) Статических практически нет, но я все равно не пойму. Можете описать реализацию скачивания и установки, имея cfg при помощи powershell?
23. blackhole321 1305 24.07.19 16:02 Сейчас в теме
(21)В общем случае наличие статического ip не требуется, если ваши клиенты могут регистрироваться на dns сервере (который вы можете поднять и у себя), чтобы Вы знали, куда подключаться.
25. RocKeR_13 1325 24.07.19 17:00 Сейчас в теме
(19) надо попробовать в тот же планировщик запихнуть запуск 1С от админа: скорей всего запустит установку платформы также под админом
Оставьте свое сообщение