%20%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%8B%20Windows%20%D0%B2%20CMD%3F.png)
Я хочу создать ярлык на рабочем столе, содержащий короткий скрипт командной строки в Windows 7 (да...старый), который переключает определенную службу с типа запуска manual
на disabled
и обратно, запуская ее многократно. При переходе из manual
в служба также должна быть завершена, в то время как при переходе из в disabled
ничего не происходит . По сути, скрипт должен действовать как переключатель "вкл/выкл" для рассматриваемой службы, как тот, что на блоке питания вашего ПК.disabled
manual
Возможная версия на языке Python может выглядеть так:
if service.startup_type = 'manual':
service.startup_type = 'disabled'
service.stop()
print(f'{service.name} disabled.')
time.sleep(1.0)
else:
service.startup_type = 'manual'
print(f'{service.name} enabled.')
time.sleep(1.0)
Примечание: Я хотел бы использовать CMD, поскольку пока не знаком с PowerShell, но я открыт для предложений.
решение1
Вот пример сценария для вас.Пакетный скрипт для переключения служб Центра обновления Windows и Доверенного установщика.. Замените wuauserv
услугой по вашему выбору и удалите TrustedInstaller
соответствующие ссылки.
Резервная ссылка(Интернет-архив)
решение2
Мы все с чего-то начинаем каждый день. ;-} Все, что вам нужно, — это файлы справки PowerShell.
Get-Help -Name Get-Service -Full
Get-Help -Name Get-Service -Examples
Get-Help -Name Start-Service -Full
Get-Help -Name Start-Service -Examples
Get-Help -Name Stop-Service -Full
Get-Help -Name Stop-Service -Examples
Get-Service | Select-Object -First 1 | Get-Member
# Results
<#
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
RequiredServices AliasProperty RequiredServices = ServicesDependedOn
Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs)
Close Method void Close()
Continue Method void Continue()
CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(type requestedType)
Dispose Method void Dispose(), void IDisposable.Dispose()
Equals Method bool Equals(System.Object obj)
ExecuteCommand Method void ExecuteCommand(int command)
GetHashCode Method int GetHashCode()
GetLifetimeService Method System.Object GetLifetimeService()
GetType Method type GetType()
InitializeLifetimeService Method System.Object InitializeLifetimeService()
Pause Method void Pause()
Refresh Method void Refresh()
Start Method void Start(), void Start(string[] args)
Stop Method void Stop()
WaitForStatus Method void WaitForStatus(System.ServiceProcess.ServiceControllerStatus desiredStatus), void WaitForStatus(System.ServiceProc...
CanPauseAndContinue Property bool CanPauseAndContinue {get;}
CanShutdown Property bool CanShutdown {get;}
CanStop Property bool CanStop {get;}
Container Property System.ComponentModel.IContainer Container {get;}
DependentServices Property System.ServiceProcess.ServiceController[] DependentServices {get;}
DisplayName Property string DisplayName {get;set;}
MachineName Property string MachineName {get;set;}
ServiceHandle Property System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName Property string ServiceName {get;set;}
ServicesDependedOn Property System.ServiceProcess.ServiceController[] ServicesDependedOn {get;}
ServiceType Property System.ServiceProcess.ServiceType ServiceType {get;}
Site Property System.ComponentModel.ISite Site {get;set;}
StartType Property System.ServiceProcess.ServiceStartMode StartType {get;}
Status Property System.ServiceProcess.ServiceControllerStatus Status {get;}
MSDN ScriptMethod System.Object MSDN();
ToString ScriptMethod System.Object ToString();
#>