CMD で Windows サービスのスタートアップの種類 (自動/手動/無効) を返す方法は?

CMD で Windows サービスのスタートアップの種類 (自動/手動/無効) を返す方法は?

Windows 7 (はい、古いです) で、特定のサービスのスタートアップ タイプを に切り替えたり、 に戻したりする短いコマンド ライン スクリプトを含むデスクトップ ショートカットを作成したいと考えていますmanualdisabledから に切り替えるとmanual、サービスも終了する必要がありますが、からdisabledに切り替えると何も行われません。基本的に、スクリプトは、PC の電源にあるような、問題のサービスに対する「電源オン/オフ」スイッチとして機能する必要があります。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)

注: PowerShell にまだ慣れていないので、CMD を使用したいと思いますが、提案があれば歓迎します。

答え1

ここにサンプルスクリプトがあります。Windows Update および Trusted Installer サービスを切り替えるバッチ スクリプト。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();  
#>

関連情報