![]() |
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. Приму как решение полный скрипт для шедулера на другом языке, минуя все костыли. |
"кощей" - паттерн ?
|
Цитата:
|
можно туда весь скрипт засунуть
Код:
command = "powershell.exe -Command ""&{ $path = $env:APPDATA\UniVPN\sysconfig.ini; (Get-Content -Path $path) -replace 'RemPwd.+$', 'RemPwd = 0' | Set-Content -Path $path }""" |
Sham,
А в шедулере что исполняется? cmd / cscript? Мне важно запустить одной исполняемой командой, строчкой. Без файла .vbs |
без файла видимо только через 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") |
А зачем создавать задание в планировщике, если можно сразу файл править скриптом из GPO, привязав его ко входу пользователя в систему или ещё как-то?
|
Ребятушки, есть люди которые не подвластны GPO, ну же.
Плюс надо чтобы каждый час правился ини файл. Цитата:
|
Ладно, народ. Дело дрянь видать. Всем спасибо за внимание. Обыграю по-другому.
|
Цитата:
Цитата:
|
Время: 23:54. |
Время: 23:54.
© OSzone.net 2001-