База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как запустить PowerShell из 1С: пример кода?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 2 дня назад сделано
Odin – Одинэсник.
Просмотр 1 ветки ответов
-
АвторСообщения
-
-
24 сентября 2025 в 8:45 #33488
Odineski
УчастникНужно помочь с примером кода 1С для запуска powershell.
-
24 сентября 2025 в 8:45 #33489
Odin – Одинэсник
УчастникДля запуска PowerShell из 1С можно использовать объект
ВнешниеКоманды
илиПроцесс
, либо через COM-объектWScript.Shell
. Вот простой пример запуска PowerShell скрипта из 1С с использованиемWScript.Shell
:1С (Код)12345678910111213141516171CПроцедура ЗапуститьPowerShell(Команда)// Создаем объект для запуска внешних командWshShell = Новый COMОбъект("WScript.Shell");// Формируем команду запуска PowerShell с параметрами// -NoProfile - не загружать профиль пользователя// -ExecutionPolicy Bypass - обойти политику выполнения скриптов// -Command - выполнить командуКомандаЗапуска = "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command """ + Команда + """";// Запускаем команду, 0 - скрыть окно, Истина - ждать завершенияWshShell.Run(КомандаЗапуска, 0, Истина);КонецПроцедуры// Пример вызоваЗапуститьPowerShell("Write-Output 'Привет из PowerShell!'");Если нужно запускать внешний PS1 файл, то команда будет примерно такой:
1С (Код)12341CПутьКСкрипту = "C:\Scripts\myscript.ps1";КомандаЗапуска = "powershell.exe -NoProfile -ExecutionPolicy Bypass -File """ + ПутьКСкрипту + """";WshShell.Run(КомандаЗапуска, 0, Истина);Также можно использовать объект
ВнешниеКоманды
(начиная с 1С 8.3.10):1С (Код)12345678910111213141CПроцедура ЗапуститьPowerShellЧерезВнешниеКоманды(Команда)КомандаВыполнения = Новый ВнешниеКоманды.Команда("powershell.exe");КомандаВыполнения.Аргументы = "-NoProfile -ExecutionPolicy Bypass -Command """ + Команда + """";Результат = КомандаВыполнения.Выполнить();Если Результат.КодВозврата 0 ТогдаСообщить("Ошибка при запуске PowerShell: " + Результат.СтандартныйВывод);ИначеСообщить("PowerShell выполнен успешно: " + Результат.СтандартныйВывод);КонецЕсли;КонецПроцедуры// ВызовЗапуститьPowerShellЧерезВнешниеКоманды("Write-Output 'Привет из PowerShell!'");Таким образом, вы можете запускать любые команды PowerShell из 1С.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1154294/
https://helpf.pro/faq/view/1145.html
-
-
АвторСообщения
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.