Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Запуск скрипта c github с параметрами

Ответить
Настройки темы
PowerShell - [решено] Запуск скрипта c github с параметрами

Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Запускаю скрипт powershell через файл .bat

Код: Выделить весь код
@echo off

powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/test/main/test.ps1' | Invoke-Expression}"

pause
exit
В самом скрипте powershell есть возможность указать параметры, но не могу их передать через cmd.

Если запускать напрямую через терминал powershell, то получилось передать параметры вот так
Код: Выделить весь код
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-Expression "& { $(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/test/main/test.ps1') } -param1 -param2 -param3"
но важен именно запуск через bat файл, а там сыпет ошибками или просто запускает скрипт без параметров...

Отправлено: 21:58, 24-06-2022

 

Старожил


Сообщения: 242
Благодарности: 49

Профиль | Отправить PM | Цитировать


запустить любимый тексторый редактор и написать код :- )
кто же знает какие аргументы просит скрипт который вы скачиваете из враждебного интернета и запускаете в mac brew style (вероятно этим хитроумно обходя наивную систему информационной безопасности места работы)

когда это вскроется - найдут всех
так что вы уж сами
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:52, 25-06-2022 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Deadooshka


Сообщения: 2481
Благодарности: 670

Профиль | Отправить PM | Цитировать


Вы передаёте параметры в script block и это работает, а выше уже он изменён на пайп внутри блока. Нужно типа этого: "&{...} -param1 -param2 -param3" | Invoke-Expression
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:13, 25-06-2022 | #12


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Sham,
получилось так
Код: Выделить весь код
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; &{Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/test/main/test.ps1'} -param1" | Invoke-Expression
но окно терминале не открывается даже

Отправлено: 23:51, 25-06-2022 | #13


Старожил


Сообщения: 242
Благодарности: 49

Профиль | Отправить PM | Цитировать


потому что опять синтаксическая ошибка в one-liner'е

скорее всего вам надо не "копипастить" а творчески перерабатывать фрагменты кода которые вам предлагают

исключтельно для ознакомления и без каких бы то ни было гарантий

Последний раз редактировалось Serguei Kouzmine, 26-06-2022 в 00:02.


Отправлено: 23:53, 25-06-2022 | #14


Deadooshka


Сообщения: 2481
Благодарности: 670

Профиль | Отправить PM | Цитировать


вся команда должна быть в кавычках, а двойные кавычки внутри дублируются. Вроде так
Код: Выделить весь код
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; ""& { $(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/test/main/test.ps1') } -param1 -param2 -param3"" | Invoke-Expression"
вот это $(...) тоже нельзя убирать, оно раскрывается внутри строки в код из скрипта.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:03, 26-06-2022 | #15


Старожил


Сообщения: 242
Благодарности: 49

Профиль | Отправить PM | Цитировать


Цитата Sham:
Вы передаёте параметры в script block и это работает, а выше уже он изменён на пайп внутри блока. Нужно типа этого: "&{...} -param1 -param2 -param3" | Invoke-Expression »
@Sham не забудьто про значения

to pass parameters have to include entire "$command -param1 $param1 -param2 $param2 ..." line
in a string and then pass that string to the Command parameter.
https://adamtheautomator.com/invoke-expression/

Отправлено: 00:30, 26-06-2022 | #16


Deadooshka


Сообщения: 2481
Благодарности: 670

Профиль | Отправить PM | Цитировать


значение можно передать в одинарных кавычках -param1 'с пробелом'. Если в двойных, то нужно двойное экранирование -param1 """"с пробелом""""
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:11, 26-06-2022 | #17


Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Sham,
заработало, только нужно еще добавить кавычек, а то была ошибка "В строке отсутствует завершающий символ"

Код: Выделить весь код
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/test/main/test.ps1') } -param1 -param2 -param3"""" | Invoke-Expression"
Спасибо вам большое за помощь.

Отправлено: 03:23, 26-06-2022 | #18



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Запуск скрипта c github с параметрами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] При запуске скрипта с github вижу вопросы вместо русских букв ryok Скриптовые языки администрирования Windows 3 14-08-2021 05:12
VBS/WSH/JS - Запуск программы с параметрами chaynick Скриптовые языки администрирования Windows 2 27-01-2021 16:45
CMD/BAT - Запуск exe с неск. параметрами verccety Скриптовые языки администрирования Windows 2 12-04-2016 18:59
CMD/BAT - Запуск программы с параметрами Yo Den Скриптовые языки администрирования Windows 8 15-06-2014 06:50
Запуск программы с параметрами Rulezzz2 AutoIt 8 31-03-2013 05:16




 
Переход