Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Command line для шедулера (PS + VBS). Замена строчки в ini (http://forum.oszone.net/showthread.php?t=353158)

naxaH 01-03-2023 14:50 3004381

Command line для шедулера (PS + VBS). Замена строчки в ini
 
Доброго времени суток!
Задача изначально править одну строчку в 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 3004393

"кощей" - паттерн ?

naxaH 01-03-2023 17:32 3004394

Цитата:

Цитата Serguei Kouzmine
"кощей" - паттерн ? »

Чито?

Sham 01-03-2023 18:01 3004397

можно туда весь скрипт засунуть
Код:

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 3004399

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

Sham 01-03-2023 20:03 3004406

без файла видимо только через 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 3004421

А зачем создавать задание в планировщике, если можно сразу файл править скриптом из GPO, привязав его ко входу пользователя в систему или ещё как-то?

naxaH 02-03-2023 10:50 3004438

Ребятушки, есть люди которые не подвластны GPO, ну же.
Плюс надо чтобы каждый час правился ини файл.

Цитата:

Цитата Sham
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 3004464

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

Vadikan 11-03-2023 13:00 3005110

Цитата:

Цитата naxaH
Предлагают решение как запуск ПШ скрипта через VBS скрипт. »

Ну так если предлагают, то оно там и должно быть по идее... К чему тогда вопросы?
Цитата:

Цитата naxaH
Можете помочь обернуть ПШ строчку в VBS скрипт. »

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


Время: 23:54.

Время: 23:54.
© OSzone.net 2001-