如何在CMD中返回Windows服務的啟動類型(自動/手動/停用)?

如何在CMD中返回Windows服務的啟動類型(自動/手動/停用)?

我想在 Windows 7(是...舊)中建立一個包含簡短命令列腳本的桌面快捷方式,透過重複執行某個服務來在啟動類型和啟動類型manual之間切換。disabled當從 到manualdisabled,服務也應該終止,而當從 到disabled時,不執行任何操作manual。基本上,該腳本應該充當相關服務的「電源開/關」開關,就像 PC 電源上的開關一樣。

一個可能的 Pythonesque 版本可能如下所示:

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();  
#>

相關內容