PowerShell - [решено] Powershell и службы

Аватара пользователя
a1ek9

Re: PowerShell - [решено] Powershell и службы

Сообщение a1ek9 »

Цитата a1ek9:



тут прав хватает, а через powershell нет? что то тут не так.
PowerShell - [решено] Powershell и службы




Дело не в этом, прав не хватает на остановку службы. А в cmd не служба останавливается, там в реестре изменяется тип запуска службы... в powershell Вы тоже можете это сделать.

Выше, Вам дали верную ссылку на описание подобных служб... почитайте, что там написано (про powershell там тоже есть описание). Если аглицкий вызывает затруднения, есть такая
ссылка
на ту же страницу, но на русском.

Вот так:



Код:

Код: Выделить всё

Set-Service -Name BcastDVRUserService -StartupType Disabled

- это должно работать. По сути, так задается шаблон для запускаемых отдельных служб...


Цитата:



Когда пользователь входит в Windows, ОС создает службы для каждого пользователя. При выходе пользователя эти службы останавливаются и удаляются.




Цитата:



Windows создает эти службы для каждого пользователя на основе шаблонов, определенных в реестре. Если вам нужно управлять поведением этих служб или управлять ими, можно настроить шаблон. Например, можно задать для типа запуска службы шаблонов значение Отключено.




Цитата:



При отключении службы для отдельных пользователей Windows по-прежнему создает ее при входе пользователя, но в остановленном и отключенном состоянии. При выходе пользователя Windows удаляет службу для каждого пользователя.



Т.е. управлять уже запущенной "службой для каждого пользователя", не получится, можно только настроить шаблон для её запуска в отключенном состоянии.
Аватара пользователя
a1ek9

Re: PowerShell - [решено] Powershell и службы

Сообщение a1ek9 »

Цитата a1ek9:



Добрый вечер! Помогите сделать на powershell этот скрипт, ничего не выходит, нужно чтобы он был однострочным, и желательно без двойных ковычек (') такая допускается.
PowerShell - [решено] Powershell и службы




В общем понятно что ничего не понятно. Я понял что нельзя так сделать, хорошо. Тогда помогите лишить выше указанный код двойных ковычек, в одну строку! Я так понял, из за параметра find не получиться, или все же возможно как то?
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Powershell и службы

Сообщение YuS_2 »

Цитата a1ek9:



Я понял что нельзя так сделать, хорошо.
PowerShell - [решено] Powershell и службы




Сделать как?

Вы переходили по ссылке? Там есть всё, что надо для настройки. Сформулируйте задачу точнее.

Запретить запуск службы с LUID?
Ссылка для решения вопроса


Или что Вы хотите автоматизировать скриптом? Это же одноразовая задача. Но тем не менее и она решается с помощью powershell




Цитата a1ek9:



Тогда помогите лишить выше указанный код двойных ковычек, в одну строку!
PowerShell - [решено] Powershell и службы




Вы понимаете, что делает тот код на cmd, который Вы пытаетесь модернизировать? Он, всего лишь изменяет записи в реестре, с чем powershell также умеет работать.

Вопрос только в том, какова конечная цель.
Аватара пользователя
YuS_2

Re: PowerShell - [решено] Powershell и службы

Сообщение YuS_2 »

Код:

Код: Выделить всё

#Requires -runas
$pth = 'HKLM:\SYSTEM\CurrentControlSet\Services\BcastDVRUserService'
$iprop = gp $pth
$nusf = 'UserServiceFlags'
$nst = 'Start'
if (!$iprop.$nusf.count){
    new-itemproperty -path $pth -name $nusf -prop 'DWORD' -val 0|out-null
} elseif ($iprop.$nusf) {
    sp -path $pth -name $nusf -val 0
}
if($iprop.$nst -ne 4){
    sp -path $pth -name $nst -val 4
}

- скрипт Powershell, который либо добавляет, либо изменяет значение 0 с типом 'DWORD' параметра UserServiceFlags для сервиса BcastDVRUserService, а также переводит сервис в тип запуска "Отключено"
Аватара пользователя
a1ek9

Re: PowerShell - [решено] Powershell и службы

Сообщение a1ek9 »

Цитата YuS_2:



Вы понимаете, что делает тот код на cmd, который Вы пытаетесь модернизировать?
PowerShell - [решено] Powershell и службы





Цитата a1ek9:



Это не то, в windows есть службы которые генерируются, имя вернее. Пример как раз выше я написал. Ваша команда отключает только BcastDVRUserService, а BcastDVRUserService_34220 по прежнему функционирует. Скрипт видимо не прочитали до конца что я указал)
PowerShell - [решено] Powershell и службы




Я понимаю. И написал я тут, чтобы люди которые понимали что тут написано, помогли мне реализовать код на powershell.

И еще раз напишу, скрипт ищет службу по началу имени, так как последние цифры генерируются всегда. Скрипт вносит изменения в службу BcastDVRUserService, потом ищет службу по ключевому слову и добавляет еще там значение. Если и сейчас не понятно, тогда я не смогу вам объяснить.


Цитата YuS_2:



Или что Вы хотите автоматизировать скриптом?
PowerShell - [решено] Powershell и службы




Просто прочитайте скрипт что я указал в шапке, и вы поймете что я хочу.


Цитата a1ek9:



for /f %I in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services" /k /f "BcastDVRUserService" ^| find /i "BcastDVRUserService"') do (reg add "%I" /v "Start" /t reg_dword /d 4 /f)
PowerShell - [решено] Powershell и службы




Благодарю всех! Что откликнулись и за ваше время! Буду искать дальше..
Ответить

Вернуться в «Скриптовые языки администрирования Windows»