Как вернуть тип запуска (автоматический/ручной/отключенный) службы Windows в CMD?

Как вернуть тип запуска (автоматический/ручной/отключенный) службы Windows в CMD?

Я хочу создать ярлык на рабочем столе, содержащий короткий скрипт командной строки в Windows 7 (да...старый), который переключает определенную службу с типа запуска manualна disabledи обратно, запуская ее многократно. При переходе из manualв служба также должна быть завершена, в то время как при переходе из в disabledничего не происходит . По сути, скрипт должен действовать как переключатель "вкл/выкл" для рассматриваемой службы, как тот, что на блоке питания вашего ПК.disabledmanual

Возможная версия на языке 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();  
#>

Связанный контент