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

Публикация № 1148862 16.05.21

Разработка - Языки и среды

PowerShell скрипты автоматизация администрирование скрипт script

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

Что это и зачем

PowerShell - это средство автоматизации от компании Microsoft с открытым исходным кодом, которое поддерживается в Windows, Linux, MacOS и даже под ARM. Представляет из себя объектно-ориентированный программный движок и скриптовый язык с интерфейсом командной строки.

Обладает обширными возможностями и позволяет решать практически любые задачи администрирования. Благодаря тесной интеграции с платформой .NET позволяет использовать все ее возможности. А огромное сообщество гарантирует большое количество готовых скриптов и модулей на любой вкус, цвет, платформу и требования.

Из-за всего этого имеет достаточно большую распространенность и сферу применения. В одной из прошлых публикаций "Командный интерпретатор для 1С" мы рассматривали техническую возможность запуска скриптов на PowerShell из кода встроенного языка платформы 1С. Сегодня же мы рассмотрим небольшие готовые скрипты для отдельных задач, которые могут Вам помочь в повседневной работе, а также немного про установки и настройку этого "монстра".

Фактически, статья показывает как начать разработку скриптов на PowerShell, с каких материалов можно начать и дает примеры скриптов для старта.

Немного об установке

Процесс установки PowerShell различается в зависимости от ОС, ее версии и т.д. Подробнее об установке и обновлении текущих версий рекомендую посмотреть официальную документацию.

Стоит отметить, что в операционной системе Windows есть встроенный движок "Windows PowerShell", который уже немного отстает от актуальных версий. Иногда можно встретить путаницу между Windows PowerShell и актуальной версией PowerShell, которая выпускается уже в кроссплатформенном варианте. Все примеры скриптов ниже тестировались именно на Windows PowerShell, но все новые разработки и скрипты стараюсь делать на актуальных версиях PowerShell, что и Вам рекомендую.

Подробно расписывать шаги установки смысла нет - посмотрите ссылку выше. Там подробная инструкция как для Windows, так и для Linux.

Инструментарий

Еще немного хотелось бы сказать об инструментах для работы с PowerShell. В составе Windows с древних времен идет среда разработки "Windows PowerShell ISE", которой, конечно, можно пользоваться и сейчас. Но даже по внешнему виду можно понять, что она достаточно архаично выглядит, да и большинства удобств современных IDE там просто не найти. Поэтому лучший выбор - это использование Visual Studio Code.

Достаточно установить расширение "PowerShell" и Вы получите отладку, удобный редактор с автоподсказками и многое другое. В статье "Использование Visual Studio Code для разработки в PowerShell" можно найти подробное описание что и как устанавливать, чтобы получить рабочую среду разработки. Также там есть описание дополнительных шагов настройки, которые в некоторых случаях могут понадобиться. Все вышесказанное актуально как для Windows, так и для Linux.

Еще немного слов про терминал. Как известно, в Windows работа с терминалом всегда была не очень удобной. Но с появлением Windows Terminal ситуация изменилась, хоть еще и есть куда стремиться. Теперь, как минимум, мы можем открывать несколько терминалов в одном окне и с разным типом. Вот, например, сразу один терминал PowerShell, два под Linux (через подсистему WSL) и один это старый добрый CMD.

Под Linux список инструментов для работы с терминалом намного больше и сами инструменты функциональней. Для себя использую простой терминал Gnome. Вот можете выбрать себе более подходящий.

Спектр задач

И целой книги не хватит, чтобы описать и пройтись по всему спектру задач, которые решает PowerShell. Но мы и не собирались. Ниже приведено несколько скриптов, которые позволяют примерно понять что и зачем можно делать. Также они могут быть стартовой точкой для начала написания собственных скриптов или целых решений автоматизации.

Это лишь примеры скриптов, не являющиеся готовым решением, поэтому они не оформляются в какой-либо отдельный модуль или пакет. Скорее всего в Вашей ситуации их придется дорабатывать.

Установка и настройка 1С

Начнем с простого - списка установленных версий 1С и команда установки.

 
 + Список установленных версий платформы
 
 + Установка одной командой

Проще простого, не так ли?

Управление службой 

Частой задачей может быть перезапуск службы 1С или по крайней мере просмотр их списка.

 
 Список установленных служб с информацией
 
 Запуск, остановка, перезапуск

И тут тоже ничего сложного.

Старый, добрый COM

До сих пор с 1С во многих компаниях работа выполняется через COM, в том числе и с сервером 1С. Вот несколько команд в помощь для работы с COM.

 
 Проверка регистрации COM
 
 Регистрация COM
 
 Отмена регистрации COM

COM с нами еще надолго :)

Кластер под контролем

Еще немного о взаимодействии с кластером 1С.

 
 Информация о кластере
 
 Регистрация и запуск консоли управления кластером
 
 Завершаем все сеансы
 
 Очистка сеансовых данных
 
 Блокировка всех информационных баз
 
 Контроль размера данных кластера
 
 Сохраняем информацию о сеансах в базу PostgreSQL
 
 Сохраняем информацию о рабочих процессах в базу PostgreSQL

 

Прочь COM, да здравствует RAC

Работа через COM в какой-то мере устарела и все скрипты относятся теперь к легаси. Эффективнее теперь все подобные действия выполнять через RAC.

 
 Общий пример  работы с RAC

Только не заставляйте переписать все скрипты с COM на RAC :)

Запуск 1С

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

>>> Скрипт вот тут.

Жаль, что модуль больше не обновляется, но даже эти наработки можно использовать.

Великий SQL Server

Для работы со SQL Server также есть огромный функционал. Работу можно выполнять через ODBC, SMO и многими другими путями. Ниже два небольших примера.

 
 Пример работы с модулем DBATools
 
 Пример создания тестовой базы в сжатом виде со скрытым быстрым shrink'ом

Капля в море, но нужно же с чего-то начинать :)

Совсем немного PostgreSQL

Для работы с PostgreSQL также можно использовать PowerShell, даже если установка выполнена на Linux. Следующий скрипт показывает простейший вызов команд с помощью psql.

 
 Пример вызова PSQL

Можно выполнять множество других действий, но для примера оставим только этот скрипт.

Вызов стороннего API

Часто приходится иметь дело с различными REST-сервисами:

  • Проверять их доступность
  • Управлять учетными записями
  • Автоматизировать настройку
  • И др.

В этом случае с помощью PowerShell также можно решать поставленные задачи.

 
 Пример вызова API сервера Zabbix

Подобная тема актуальная и при работе с облаками (Azure, AWS и др.) или любыми другими сервисами.

Собственный бот

Использование мессенджеров для уведомления о важных событиях мониторинга трудно переоценить. Ниже скрипт для отправки сообщений в Telegram.

 
 Отправка сообщения в Telegram

Есть решения и для других мессенджеров (WhatsApp, Viber и т.д.), но рассматривать их сейчас не будем.

Отправка писем

Электронная почта также до сих пор остается важным инструментом коммуникаций. Отправка туда сообщений иногда является самым универсальным способом уведомлений, ведь не все предпочитают одинаковые мессенджеры. А вот почта, по крайней мере корпоративная, есть почти всегда.

 
 Отправка электронной почты

А Вы используете электронную почту для уведомлений?

Контролируй процессы

Часто приходится управлять различными процессами в системе. Например, завершить зависшие процессы или узнать потребляемые ими ресурсы. Тут то на сцену выходит PowerShell :)

 
 Список процессов
 
 Убить нельзя помиловать

Имей власть над процессами и будешь властвовать над ОС :)

Проверка свободного порта

Почти каждый сталкивался с проблемой, когда служба 1С могла не запускаться из-за занятого порта другим приложением. Для диагностики нужно проверить кто нужный порт занял. Тут на сцену выходит...

 
 Свободен ли порт?

Теперь можно не гадать, почему служба 1С не запустилась :)

Удаленное управление

PowerShell позволяет выполнять скрипты / команды на удаленных машинах, что значительно упрощает решение задач администрирования. Решается это с помощью PSRemoting. Ранее все удаленные взаимодействия выполнялись через WinRM, теперь же появилась возможность работать и через SSH. Вот материалы по удаленному управлению:

Ниже пример настройки для Windows и выполнение удаленной команды.

 
 Простейший пример настройки
 
 Как использовать

Один PowerShell, чтоб править всеми ... хостами.

Еще еще еще

На этом примеры скриптов закончим. Многие другие скрипты и примеры можно найти в таких источниках:

  • PowerShell - набор публичных скриптов под разные задачи.
  • PowerShellTools - еще один репозиторий со скриптами.

А теперь пойдем дальше.

Меньше костылей

Создавать свои скрипты - это нормально, но некоторые задачи уже были решены до нас и мы можем этот опыт использовать. В контексте PowerShell это либо использовать скрипты других разработчиков, либо брать на вооружение целые готовые модули PowerShell от сообщества или компаний (обычно выпускают вместе с каким-либо продуктом, как это делает та же Microsoft).

Есть даже 1C.Utils - небольшой набор инструментов для 1С, правда автор забросил его пару лет назад, а жаль.

В общем, готовых решений много, а участников сообщества еще больше!

В самом конце

Все что я хотел сказать в этой статье, так это недооцененный инструмент для решения повседневных задач - PowerShell. Недооцененный именно в среде разработчиков 1С, тогда как в мире .NET, CI/CD и для управления некоторых облачных решений - PowerShell занял хорошие позиции.

Вместо использования готовых решений, сообщество и сама фирма "1С" пошли своим путем, создавая собственные инструменты автоматизации. Причем фирма "1С" проигнорировала труды сообщества в виде OneScript и создает собственный инструмент - 1С:Исполнитель.

Конечно, чем больше инструментов, тем лучше. Но средства автоматизации создаются не только для разработчиков 1С, но и для администраторов, DevOps'ов и других специалистов, которые могут и не иметь прямого отношения к 1С. А если администратору нужно будет автоматизировать процесс разворачивания клиентов 1С, сбор информации с сервера 1С или другую задачу автоматизации, то зачем ему изучать OneScript или 1С:Исполнитель? А ставить для их работы дополнительные компоненты, о которых в не1Сном сообществе не слышали и не могут доверять им.

Автор не противник OneScript или 1С:Исполнитель. Я фанат PowerShell и немного Bash. Понимаю, что коллеги проделали большую работу и продукт взлетел в определенном смысле. Но может сообществу 1С пора быть более открытым и не замыкаться свою экосистему саму на себя?

P.S. Все это риторические вопросы. Но если Вам есть что сказать - комментарии именно для этого. 

P.P.S. Внимание! Если Вы пишите токсичный комментарий или добавляете сарказм, то пожалуйста добавьте его под спойлер, чтобы их читали только те, кому это действительно интересно :)))))

Другие ссылки

Авторские разработки

 
  Другие разработки (бесплатные и за $m)

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. webester 35 16.05.21 15:57 Сейчас в теме
Повершелл достаточно сильная вещь конечно. Но команды плана
"$services1C = Get-WmiObject win32_service | ?{$_.Name -like '*'} | Select Name, DisplayName, State, PathName | Where-Object { $_.PathName -Like "*ragent.exe*" };" для получения процесса очень сильно мешают процессу его изучения :) сложно запомнить (да и понять) такие монстроузные конструкции с первого раза. Хотя после третьего прочтения оказывается действительно ничего сложного. Но закрыл редактор через день открыл и уже не напишешь не подсмотрев где ни будь.
Olenevod; Дмитрий74Чел; +2 Ответить
2. YPermitin 10927 16.05.21 16:07 Сейчас в теме
(1) как и любой другой язык, если с ним мало работать.
Но это не повод переводить всю работу на один единый язык / синтаксис.

Опять же все это только мое мнение)
awk; portwein; kraynev-navi; Yashazz; ArchLord42; webester; +6 Ответить
20. user607348_sqwot 20.05.21 09:29 Сейчас в теме
21. YPermitin 10927 20.05.21 09:33 Сейчас в теме
(20) а если служба не запущена?
22. user607348_sqwot 20.05.21 09:46 Сейчас в теме
23. YPermitin 10927 20.05.21 09:50 Сейчас в теме
(22) А если найдутся лишние службы, в именах которых есть "1с"?

Мы так можем долго продолжать :)
24. user607348_sqwot 20.05.21 11:14 Сейчас в теме
Можем) Моя мысль была в том, что он совсем не сложный. Обращение к WMI-объектам совсем не обязателен сейчас для работы. Для оптимизации, да, прямое обращение будет быстрее.
YPermitin; +1 Ответить
25. YPermitin 10927 20.05.21 11:15 Сейчас в теме
(24) Да я больше шуткой)))

А так да, говорить что PowerShell сложный. Для меня это как стереотип какой-то.
3. ITSolncev 17.05.21 05:55 Сейчас в теме
Спасибо за хорошую подробную статью! (+)

Недооцененный именно в среде разработчиков 1С

Почему же недооцененный? Просто те кто им пользуется не так активно об этом тут пишут.
portwein; YPermitin; +2 Ответить
4. YPermitin 10927 17.05.21 06:36 Сейчас в теме
(3) да, возможно Вы правы.
portwein; +1 Ответить
5. cdiamond 185 17.05.21 10:00 Сейчас в теме
Если есть Active Directory то удобнее не использовать отдельные списки клиентов и следить за их актуальностью, а запускать массовые скрипты с помощью следующего шаблона, например установку новой версии платформы или чистку кэша (строку поиска настроить на свой домен):
$searchBase = "OU=1C_Clients,OU=Clients,OU=Computer,DC=corporate,DC=com"
$computers = Get-ADComputer -SearchBase $searchBase -Filter "Name -like 'comp*'" | Sort-Object -Property Name | Select-Object -ExpandProperty Name
foreach ($computer in $computers) {
  ...
}
YPermitin; +1 Ответить
6. vmatveenko 17.05.21 11:14 Сейчас в теме
Обрабатывайте результат команды RAC регуляркой сразу в таблицу, это даст Вам возможность делать отборы по таблице (Select)

 #регуляркой обработаем результат
        $Regex = '(?:(?<key>(?:[-0-9a-z])*)\s*:\s(?<value>.*)(?:\r\n))(?<split>\r\n)?'
        $Res = [regex]::matches($Stdout, $Regex)
   
        $ReturnTable = [System.Data.DataTable]::new()
        $TableInitiated = $false
        $TableRow = @()

        foreach ($i in $Res) {
         
            if (-not $TableInitiated) { $ReturnTable.Columns.Add([System.Data.DataColumn]::new($i.Groups['key'].Value.Replace("-", "_"))) }
            $TableRow += $i.Groups['value'].Value

            if ($i.Groups['split'].Success) {
                $TableInitiated = $true
                $ReturnTable.Rows.Add($TableRow) | Out-Null
                $TableRow = @()
            }

        }
Показать


Отключать пользователей через RAC не очень удобно, когда их у вас более 1000 (Если делать запуск RAC = Завершение сеанса). Придется отключать их в несколько потоков.

Так же RAC имеет свойство зависать при выполнении команды и Ваш скрипт может не отработать корректно. Я стараюсь выполнять одну команду в несколько попыток, это в принципе решает проблемы с зависанием.

Что-то в роде этого
# запускаем попытки выполнения
        for ($i = 1; $i -le $AttemptCount; $i++) {
    
            $Handle = $PowerShell.BeginInvoke()
            try {
    
                # Ожидание выполнения
                $end_date = (Get-Date).AddMilliseconds($TimeOut)
                $sleep_time = 100
                $NextAttempt = $false;
                while (-not $Handle.IsCompleted) {
                    Start-Sleep -Milliseconds $sleep_time
                    if ((Get-Date) -ge ($end_date)) {
                        $Stdout = "";
                        $Stderr = "Вышло время отведенное на выполнение команды [timeout=$TimeOut * $AttemptCount]"
                        $PowerShell.Stop()
                        $NextAttempt = $true
                        break
                    }
                }
                if ($NextAttempt) { Continue }
            
                # Команда отработала
                $Stdout = $RunSpace.SessionStateProxy.GetVariable("Stdout")
                $Stderr = $RunSpace.SessionStateProxy.GetVariable("Stderr")
                break
       
            }
            catch [system.exception] {
    
                $Stderr = $_.Exception.Message
                $Stdout = ""
    
            }
    
        }
Показать
N!ghtmare; YPermitin; starik-2005; +3 Ответить
7. starik-2005 2349 17.05.21 11:28 Сейчас в теме
Круть! M$ не зря убила VB.NET, заменив повершелом.
9. Perfolenta 194 18.05.21 11:22 Сейчас в теме
(7) M$ не убивала VB.Net... она сохраняет его полную поддержку в новых версиях платформы Net... просто принято решение не вносить в язык новые изменения... но это даже хорошо, а то он и так из языка для начинающих превратился в довольно сложный язык...

C# продолжает совершенствоваться, но на мой взгляд его начинают перегружать инородным синтаксисом и излишними концепциями... хотя, для языка предназначенного профессионалам это не критично, просто повышается порог входа...

PowerShell сравнивать с VB.Net не корректно... в крайнем случае можно с VB.Script сравнить... VB.Net язык общего назначения, а PowerShell специализированный... и конечно, PowerShell лучше приспособлен для задач администрирования, т.к. для этого и был создан...

Как и люди, старые языки программирования уходят на покой, приходят молодые... но старые языки вроде Vb.Script сослужили хорошую службу и мне их даже жаль...
YPermitin; +1 Ответить
10. starik-2005 2349 18.05.21 11:54 Сейчас в теме
(9) паскаль вроде как тоже мертв, ибо его не развивают (почти). ВБ.НЕТ перестали развивать, тем самым убили (как мобильную винду - интересно, она кроме старых убогих ТСД где-нить сохранилась?)
11. Perfolenta 194 18.05.21 16:04 Сейчас в теме
(10)
перестали развивать, тем самым убили

это верно, часто так и бывает, но в основном из-за страха, что прекратят поддержку... я сам за 30 лет этого натерпелся... и Майкрософт кидала не раз и другие компании исчезали вместе со своими компиляторами...
Но проблема всегда была не в том, что язык перестали развивать, а в том, что прекращали поддержку компилятора и создаваемый им код больше не работал на новых версиях ОС или работал плохо...

Поэтому, если Майкрософт сдержит слово и будет поддерживать VB.Net во всех будущих версиях Net,
то заморозка синтаксиса лет на 5-10 это даже хорошо... конечно, лет через 10 скорее всего возникнет необходимость что-то доработать, но это уже будут решать другие люди в других обстоятельствах...

Кстати, если брать именно Vb, то наибольшее количество проблем приносило как раз развитие языка,
из-за которого приходилось серьезно переписывать код, что стоило сил, времени и денег... т.к. я умудрился писать на всех его версиях, то могу сказать, что наиболее сложными были переходы с 16-разрядного Vb 4 на 32-х разрядный и с Vb 6 на Vb.Net 1... про переход с Досовских версий Бейсика на Vb скромно промолчу в связи с дремучей древностью этого процесса, который я тоже ощутил на своей шкуре сполна....

С Паскалем история похожая... проблема не в том, что язык перестали развивать, а в том, что компилятор и IDE забросили (имею ввиду Дельфи, как вершину развития Паскаля)... кстати, сам язык развивается и в версии PascalABC есть почти все современные штучки...

Хорошо, что VB.Net на столько интегрирован в Net, что Майкрософту не будет сложно поддерживать актуальность компилятора, т.к. они с C# на одной инфраструктуре построены по имени Roslin...
YPermitin; +1 Ответить
8. SirAlexIT 17.05.21 12:25 Сейчас в теме
Хороший материал, многим время сэкономит - не надо гуглить по сайтам и форумам за инфой.
YPermitin; +1 Ответить
12. Perfolenta 194 18.05.21 17:15 Сейчас в теме
Статья отличная и полезная, спасибо...
А вот аргументация за отказ от OneScript и Исполнитея в пользу PowerShell так себе...
Учить то, что редко используется одинаково лениво и админам и одинэсникам...
Поэтому призыв к открытости либо может быть обоюдным, либо не имеет смысла...
Пусть админы пишут скрипты на знакомом им PowerShell, а одинэсники на Односкрипте...
Собирать коллекции полезных скриптов можно на любых языках,
т.к. воспользоваться скриптом (и даже слегка модифицировать) гораздо проще, чем его написать...
Olenevod; +1 Ответить
13. YPermitin 10927 18.05.21 18:20 Сейчас в теме
(12) про это и была речь. Экосистема завязаная сама на себя. Свои мир)
14. Perfolenta 194 19.05.21 04:08 Сейчас в теме
(13) все экосистемы завязаны сами на себя, иначе они не были бы экосистемами...

Вот я, отлично знаю .Net, а основанный на нем PowerShell так и не выучил на уровне,
что бы на нем писать... хотя читаю, использую и даже иногда модифицирую скрипты...
но это бывает раз в полгода, поэтому нет ни какого смысла его учить, тем более,
что он плохо запоминаемый из-за обилия дефисов, скобочек, долларов и других символов...
Определенная система в наименовании апплетов там конечно есть и если ты админ,
то запомнить можно... но для одинэсника это не рентабельно...
15. YPermitin 10927 19.05.21 06:15 Сейчас в теме
(14) ну, да.

Надеюсь мне не придется сталкиваться с 1С:Исполнитель и админам тоже :))))
18. Perfolenta 194 19.05.21 09:53 Сейчас в теме
(15) а если придется, Вы ведь всё равно решите поставленную задачу?
В языке главное, что бы он работал...
30 лет назад я писал на разных Ассемблерах, с тех пор много воды утекло, и я забыл почти всё... но если вдруг придется писать на них снова, то я же не подниму руки вверх...
Языков много, и разным людям нравятся разные языки, от этого не избавишься...
19. YPermitin 10927 19.05.21 09:54 Сейчас в теме
(18)
ад я писал на разных Ассемблерах, с тех пор много воды утекло, и я забыл почти всё... но если вдруг придется писать на них снова, то я же не подниму руки вверх...


Конечно. Я же написал, что надеюсь не придется.
Работа есть работа.
16. nonofusafree 19.05.21 08:48 Сейчас в теме
(14) для одинэсников не ренабельно вообще все, что связано с не 1С))))
Поэтому к ним и отношение такое в ИТ сложилось. Скажем так, не очень хорошее.

Это конечно мой взгляд на ситуацию.

А статья от автора просто отличная)
17. Perfolenta 194 19.05.21 09:05 Сейчас в теме
(16)
Поэтому к ним и отношение такое в ИТ сложилось.

да ладно наговаривать... условный PHPшник ни хрена не понимает не только в 1С, но и в C++, C#, JAVA и далее по списку... то же самое с программистами на других языках...
26. user925427 94 22.05.21 12:00 Сейчас в теме
Сложность языка зависит от наличия/отсутствия понятного руководства.
1С кажется простым, потому что на русском, но, по сути, это C++.
Функций много, а с руководством беда. Взять, хотя бы, ту же БСП.
В моём поинмании, IT-специалисту, без взаимодействия с другими продуктами,
которые какие-то задачи решают лучше 1С (или другой системы в общем случае),
обойтись невозможно. И тут либо использовать универсальные форматы типа XML
и JSON, либо выходить за рамки "своего" языка. В администрировании XML не
поможет, поэтому, тот или иной язык пригодится. Автор делится своим опытом с
живыми примерами, т.е. даёт понятное руководство и ещё кучу ссылок. За что ему
спасибо. Чем больше подобных статей, тем лучше. Для тех, конечно, кто не
зацикливается на "своём" языке.
Оставьте свое сообщение

См. также

Просмотр и анализ журнала регистрации (отчет на СКД) Промо

Журнал регистрации v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Отчет на базе системы компоновки данных (СКД) для просмотра записей журнала регистрации. В отчете можно использовать возможности СКД для вывода отчета в различных вариантах (список, таблица, диаграмма). Поддерживаются все возможности журнала регистрации (фильтры, получаемые колонки, максимальное количество записей).

5 стартмани

25.07.2013    72957    1066    YPermitin    56    

HTML таблица для начинающих

Практика программирования Языки и среды v8 Бесплатно (free)

Несколько примеров HTML таблиц со стилями и без. Хорошая замена отчетов на СКД.

02.06.2021    3727    dsdred    25    

Мониторинг свободного места на диске с помощью OneScript

Системное администрирование OneScript Бесплатно (free)

Скрипт, который проверяет объем свободного места на каждом диске и оповещает на почту о нехватке места.

30.05.2021    1360    info1i    8    

Экспорт технологического журнала. Набор инструментов (приложения + исходный код)

Технологический журнал Абонемент ($m)

Набор инструментов для экспорта данных технологического журнала во внешнее хранилище на базе ClickHouse для Windows и Linux. Готовое приложение и исходный код.

10 стартмани

09.05.2021    4467    8    YPermitin    32    

reperr - автоматическая регистрация ошибок для 8.3.17+

OneScript Управление задачами v8 Бесплатно (free)

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

04.02.2021    5610    ovcharenko.di    6    

Приложение двенадцати факторов

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

Тенденции современности - это SaaS и микросервисы. Про SaaS не слышал только ленивый, но на всякий случай, Ленивый, это для тебя: SaaS это облачная модель работы с сервисами по подписке. У 1С это технология 1С:Фреш. Но мы поговорим не о SaaS и не об 1С:Фреш, а о методологии "Приложение двенадцати факторов", которая родилась для облегчения жизни разработчикам SaaS приложений. Вы спросите: "А где здесь про 1С?". Давайте разберемся.

19.11.2020    763    Lars Ulrich    0    

Смена паролей всем локальным пользователям Windows с помощью OneScript

Windows OneScript Пароли Бесплатно (free)

Скрипт, который меняет пароли всем локальным пользователям Windows и сохраняет их в файле. Есть функция генерации пароля, можно задать длину пароля.

18.08.2020    948    info1i    7    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    7444    2    YPermitin    14    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Прочие инструменты разработчика Журнал регистрации v8 Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

10 стартмани

26.05.2020    9862    66    YPermitin    0    

Информация о пользователях информационной базы (отчет на СКД)

Администрирование данных 1С Роли и права v8 v8::Права v8::СКД 1cv8.cf Абонемент ($m)

Два простых отчета по пользователям информационной базы и информации по ним.

1 стартмани

02.03.2020    9117    31    YPermitin    8    

Мастер полнотекстового поиска

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

07.02.2020    13960    130    YPermitin    29    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    16614    61    YPermitin    32    

Как программисту перейти с языка 1С Предприятие на Java

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

Как изучить язык Java, зная язык 1С.

06.01.2020    16875    ManyakRus    296    

Командный интерпретатор для 1С

Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Инструмент для выполнения команд CMD / PowerShell из 1С.

2 стартмани

15.11.2019    16222    31    YPermitin    41    

Пакетная выгрузка / загрузка внешних отчетов и обработок

Прочие инструменты разработчика Менеджеры внешних отчетов v8 1cv8.cf Абонемент ($m)

Пакетная выгрузка / загрузка внешних отчетов и обработок для массовый манипуляций с ними.

2 стартмани

04.11.2019    13340    72    YPermitin    22    

Swagger для 1С.

OneScript WEB Бесплатно (free)

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    16204    botokash    48    

Обозреватель криптографии

Инструментарий разработчика Защита ПО v8 Абонемент ($m)

Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.

2 стартмани

21.10.2019    13301    18    YPermitin    10    

Автоматическое сравнение-объединение баз данных с мини-конфигурацией

OneScript v8 Бесплатно (free)

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

14.10.2019    3370    artkor    2    

Анализ производительности APDEX

APDEX v8 1cv8.cf Бесплатно (free)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    16088    368    YPermitin    7    

1С и PowerShell - обновление из хранилища

Администрирование СУБД v8 Абонемент ($m)

Пример скрипта, упрощающего работу.

1 стартмани

29.08.2019    9931    Jokemas    31    

Путеводитель по истории релизов

WEB v8 1cv8.cf Абонемент ($m)

Отчет по истории выпуска релизов и анализа информации по обновлениям.

5 стартмани

13.08.2019    17355    13    YPermitin    18    

Просмотр и анализ структуры базы данных (отчет на СКД)

Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

5 стартмани

24.07.2019    28551    263    YPermitin    27    

АИТП. Подсистема взаимодействия с рабочими серверами OneScript

OneScript v8 Бесплатно (free)

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    5692    blackhole321    33    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    21902    Evil Beaver    33    

Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7

OneScript Бесплатно (free)

В статье описана методика создания высокодоступной фермы рабочих серверов OneScript, для конфигурации АИТП.

14.05.2019    5042    blackhole321    0    

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

OneScript v8 Бесплатно (free)

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    6595    blackhole321    0    

Хостим OneScript.Web приложение (heroku)

OneScript Бесплатно (free)

Развертывание oscript.web в heroku.

19.12.2018    6888    pallid    6    

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

Администрирование данных 1С v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

14.12.2018    5428    3    login1020    25    

Мониторинг журнала регистрации при помощи Powershell

Сервисные утилиты Журнал регистрации v8 Абонемент ($m)

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    13465    user768334    7    

Хостим OneScript.Web приложение

OneScript Бесплатно (free)

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    8016    pallid    3    

Добавляем онлайн-чат в web-приложение OneScript

OneScript v8 Бесплатно (free)

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    7848    blackhole321    1    

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

OneScript DevOps Jenkins v8 1cv8.cf ИТ-компания Бесплатно (free)

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    24262    stas_ganiev    37    

Макеты в http-сервисах OneScript

OneScript v8 Бесплатно (free)

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    8678    blackhole321    1    

Перечисления в http-сервисах OneScript

OneScript v8 Бесплатно (free)

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

03.06.2018    8164    blackhole321    13    

Обработки в http-сервисах OneScript

OneScript Бесплатно (free)

В статье описана библиотека, реализующая механизм обработок в http-сервисах OneScript.

25.05.2018    7813    blackhole321    0    

Расширенные методы загрузки внешних библиотек в http-сервисах OneScript

OneScript Бесплатно (free)

В статье описаны расширенные методы загрузки внешних библиотек в http-сервисах OneScript на примере механизма фоновых заданий.

25.05.2018    7769    blackhole321    0    

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci

OneScript v8 1cv8.cf Бесплатно (free)

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    13754    pallid    7    

OneScript в облаке или Развертываем http-сервис OneScript на хостинге

OneScript Бесплатно (free)

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

05.05.2018    9943    blackhole321    0    

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки

OneScript v8 Бесплатно (free)

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    15467    Tavalik    22    

Развертывание http-сервиса OneScript на Raspberry Pi

OneScript Бесплатно (free)

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

23.04.2018    11511    blackhole321    10    

Создаем свою библиотеку для OneScript

OneScript v8 Бесплатно (free)

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    23719    nixel    36