Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Скрипт Powershell из 1С

Скрипт Powershell из 1С
Я
   maz
 
05.10.18 - 15:29
Есть маленький скриптик по выгрузке данных из AD, запускаемый отдельным файликом *.ps1
Задача, собственно, выполнять работу данного скрипта из 1С. Пока не понимаю даже с какого боку подступиться к задаче. Каким образом можно реализовать, через КОМ либо АДО выполнить запросец данного скрипта. Кто-то сталкивался с подобной штукой?
 
 
   Cool_Profi
 
1 - 05.10.18 - 15:37
А куда он выгружает?
Может тупо, КомандаСистемы("ps.exe MyScript.ps1"); ?
   spiller26
 
2 - 05.10.18 - 15:42
(0)
ЗапуститьПриложение("C:\Windows\explorer.exe ""C:\Program files""");
КомандаСистемы("start explorer.exe ""C:\Program files""");
   maz
 
3 - 08.10.18 - 14:52
Всем спасибо, сделал через ком:

//

ПС = Новый COMОбъект("WScript.Shell");
ПС.Run(ТекстСкрипта);
//


Главное в тексте скрипта в самом начале передаём "PowerShell -Command", иначе будет просто открывать на редактирование
   maz
 
4 - 08.10.18 - 17:52
Так же полезно будет для понимания информация о параметрах запуска:

WshShell.Run(<команда>,<вид окна приложения (0-10)>, <требуется ожидать завершения (0-1)>);
   Fram
 
5 - 08.10.18 - 18:54
(4) штатные методы из (2) не сработали?
   Cyberhawk
 
6 - 08.10.18 - 20:11
Ты сделал овно. Надо только через ЗапуститьПриложение.
   antndr
 
7 - 08.10.18 - 20:23
(3) А что за скрипт?
У меня сейчас в виндовом шедуллере такая штука выполняется:
Get-ADUser -Filter * -properties OfficePhone | select-object UserPrincipalName, Name, OfficePhone, Enabled | Export-csv -encoding utf8 -path c:\ad_info\ADUsers.csv

Вот думаю прям в 1с - эту штуку выполнять, но встает вопрос, как результат обрабатывать.
Сейчас это все выгружается в файлик, который потом обрабатывается, но хочется прям в 1с получить данные.
   Сияющий в темноте
 
8 - 08.10.18 - 20:30
Если запрос через wmi,то можно прямо через Com обьект его создать и читать данные. PowerShell это надстройка над Wmi для тех,кто VbScript не осилил.
   Локи-13
 
9 - 09.10.18 - 09:22
(8) vbscript устаревшее старье
для тех кто не осилил перфокарты
   maz
 
10 - 09.10.18 - 09:23
(7) Подключиться к AD и сделать выгрузку
 
 Рекламное место пустует
   Cool_Profi
 
11 - 09.10.18 - 09:24
(9) Сейчас во всём мире подавились водкой адепты bash...
   maz
 
12 - 09.10.18 - 09:25
(5) срабатывали, но я не знал как именно PowerShell запустить)) пока ковырялся заработало так. Можно переделать
   maz
 
13 - 09.10.18 - 09:28
а нет, там ругань лезла на запрет выполнения сценариев. Т.е. руками всё ок проходило, а через 1с ругался
   maz
 
14 - 09.10.18 - 09:32
(7)по сути тоже самое делаю, сначала столкнулся только, что скрипт выполняется, а я не знал как получить статус, в каком он состоянии, закончился или нет. А потом выяснилось что просто параметр передать можно и дождаться окончания (4)
   Локи-13
 
15 - 09.10.18 - 09:40
(11) не надо гнать на баш
пош делали по его образу и подобию
   Cool_Profi
 
16 - 09.10.18 - 09:41
(15) vbscript^W bash устаревшее старье
   Asmody
 
17 - 09.10.18 - 09:47
(16) то-то в Микрософте из кожи вылезли, аж целую WSL запилили, лишь бы "старье" bash в винде запускать.
   Cool_Profi
 
18 - 09.10.18 - 09:49
(17) Старьё баша в винде запускали ещё когда WSL не то что в проекте не было, а деже его родители под сомнением ходили.
   Cool_Profi
 
19 - 09.10.18 - 09:50
(17) Кроме того - WSL - это какая-то кривая под(д)елка (как и весь линух в общем)
   eklmn
 
20 - 09.10.18 - 10:08
ЗапуститьПриложение("powershell -executionpolicy unrestricted -command ...")
   maz
 
21 - 09.10.18 - 10:19
(20)да, работает. Выгружает, но ругается на что-то при этом. А задержку выполнения кода до окончания выполнения можно передать, что б дождаться создания файла?
   maz
 
22 - 09.10.18 - 10:28
вот на это "-executionpolicy unrestricted"
   eklmn
 
23 - 09.10.18 - 10:33
ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>) 

3 параметр
   maz
 
24 - 09.10.18 - 10:34
(21) вопрос снимается, параметр 3
   maz
 
25 - 09.10.18 - 10:35
(23) :)))) да. Спасибо


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует