Показать полную графическую версию : [решено] Удаление служб по маске
а на самом деле просто потерян $ перед services
и этого бы не случилось, если бы не городили на пустом месте кучу переменных, а писали бы конвейером »
Да нет, это просто язык такой. Желание объять всё зараз вот к такому и приводит.
DJ Mogarych
10-12-2019, 13:20
скрипты надо писать однозначно »
Для этого надо нормально формулировать задачу.
И неплохо бы иметь любознательность хотя бы чтобы попробовать понять, что делает элементарный скрипт в две строки, я уж не говорю о том, чтобы попробовать самому попробовать их написать.
kirillius
10-12-2019, 13:24
$services = get-service service_*
foreach ($service in $services) {
write-verbose $service.name -Verbose
stop-service -InputObject $service
& sc.exe delete $service.name
} »
Получилось, спасибо!
А теперь это можно в некое подбие BAT-файла преобразовать, чтобы запуском в один клик вся эта процедура проделывалась? К сожалению с PowerShell не знаком совершенно...
kirillius,
Попробуйте так:
powershell.exe -Command { Stop-service service_* -PassThru | % { & sc.exe delete $_.name } }
не проверял, т.к. лишних служб у меня нет :-)
kirillius
13-12-2019, 10:56
Попробуйте так: »
Не сработало, выдало:
"%" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
DJ Mogarych
13-12-2019, 10:59
Busla, теперь ваша очередь демонстрации написания однозначных скриптов.
kirillius
13-12-2019, 13:17
Пока решил задачу так:
$services = get-service service_*
foreach ($service in $services) {
write-verbose $service.name -Verbose
stop-service -InputObject $service
& sc.exe delete $service.name
}
- Это поместил в файл .ps1, а в BAT прописал:
powershell "D:\Desktop\DelServices.ps1"
kirillius, для bat удобнее будет использовать wmi:
wmic.exe service where "name like 'service_%' and started = true" call stopservice
wmic.exe service where "name like 'service_%'" call delete
kirillius
13-12-2019, 15:51
wmic.exe service where "name like 'service_%' and started = true" call stopservice
wmic.exe service where "name like 'service_%'" call delete »
А так не работает - No Instance(s) Available.
А так не работает »
А так:
wmic.exe service where "name like 'service_%%' and started = true" call stopservice
wmic.exe service where "name like 'service_%%'" call delete »
?
kirillius
14-12-2019, 00:31
А так: »
Так работает! Благодарю!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.