Войти

Показать полную графическую версию : Command line для шедулера (PS + VBS). Замена строчки в ini


naxaH
01-03-2023, 14:50
Доброго времени суток!
Задача изначально править одну строчку в ini файле что лежит в %appdata%.
Править строку предполагается сразу через шедуллер. Шедуллер-задание будет сделано через GPO так и через скрипт, запущенный скриптом у юзера ручками админа. Аля автоматическое создание задания и ручное для удаленщиков.
Все решил сделать через ПШ. Скрипт создавал задание в планировщике, в котором запускался ПШ с прямой командой на изменение строчки в ини файле. Все ок проблема только в том, что задание запускается от имени юзера и на мгновение появляется окно ПШ. Мигом. В инете пишут что если скрипт в Планировщике запускается от имени юзера, то мигание окошка ПШ будет всегда. Предлагают решение как запуск ПШ скрипта через VBS скрипт.

1. Кто-нибудь сталкивался с миганием окошка ПШ в таком как у меня случае? Есть решение? всякие -Window Hidden -Nointeractive не помогают.
2. Можете помочь обернуть ПШ строчку в VBS скрипт. Так что бы все было одной строчкой, без файлов-скриптов. И как будут заполнены строчки в задание в разделе Действия?

ПШ который меняет строчку (Get-Content -Path $env:APPDATA\UniVPN\sysconfig.ini) -replace 'RemPwd.+$',"RemPwd = 0" | Set-Content -Path $env:APPDATA\UniVPN\sysconfig.ini
VBS скрипт:
command = "powershell.exe -nologo -command C:\Scripts\YourScript.ps1"
set shell = CreateObject("WScript.Shell")
shell.Run command,0
По VBS может местные гуру что-нибудь иное лучше подскажут.

3. Приму как решение полный скрипт для шедулера на другом языке, минуя все костыли.

Serguei Kouzmine
01-03-2023, 17:31
"кощей" - паттерн ?

naxaH
01-03-2023, 17:32
"кощей" - паттерн ? »
Чито?

Sham
01-03-2023, 18:01
можно туда весь скрипт засунуть command = "powershell.exe -Command ""&{ $path = $env:APPDATA\UniVPN\sysconfig.ini; (Get-Content -Path $path) -replace 'RemPwd.+$', 'RemPwd = 0' | Set-Content -Path $path }""" будет в vbs работать

naxaH
01-03-2023, 18:35
Sham,
А в шедулере что исполняется? cmd / cscript?
Мне важно запустить одной исполняемой командой, строчкой. Без файла .vbs

Sham
01-03-2023, 20:03
без файла видимо только через mshta, но вообще дичь получается
mshta vbscript:Execute("command = ""powershell.exe -Command """"&{ $path = $env:APPDATA\UniVPN\sysconfig.ini; (Get-Content -Path $path) -replace 'RemPwd.+$', 'RemPwd = 0' | Set-Content -Path $path }"""""":set shell = CreateObject(""WScript.Shell""):shell.Run command, 0:close")

DJ Mogarych
01-03-2023, 22:13
А зачем создавать задание в планировщике, если можно сразу файл править скриптом из GPO, привязав его ко входу пользователя в систему или ещё как-то?

naxaH
02-03-2023, 10:50
Ребятушки, есть люди которые не подвластны GPO, ну же.
Плюс надо чтобы каждый час правился ини файл.

mshta vbscript:Execute("command = ""powershell.exe -Command """"&{ $path = $env:APPDATA\UniVPN\sysconfig.ini; (Get-Content -Path $path) -replace 'RemPwd.+$', 'RemPwd = 0' | Set-Content -Path $path }"""""":set shell = CreateObject(""WScript.Shell""):shell.Run command, 0:close") »
Спасибо, но в cmd и в планировщике не отрабатывает (( плюс задача в планировщике удаляется почему-то.

naxaH
02-03-2023, 15:52
Ладно, народ. Дело дрянь видать. Всем спасибо за внимание. Обыграю по-другому.

Vadikan
11-03-2023, 13:00
Предлагают решение как запуск ПШ скрипта через VBS скрипт. »
Ну так если предлагают, то оно там и должно быть по идее... К чему тогда вопросы?
Можете помочь обернуть ПШ строчку в VBS скрипт. »

Ответы тут https://t.me/sterkin_ru/586




© OSzone.net 2001-2012