%20eines%20Windows-Dienstes%20in%20CMD%20zur%C3%BCck%3F.png)
Ich möchte eine Desktopverknüpfung mit einem kurzen Befehlszeilenskript in Windows 7 (ja ... alt) erstellen, das einen bestimmten Dienst durch wiederholtes Ausführen vom Starttyp manual
auf disabled
und zurück schaltet. Beim Wechsel von manual
auf sollte der Dienst auch beendet werden, während beim Wechsel von auf disabled
nichts geschieht . Im Grunde sollte das Skript als „Ein-/Ausschalter“ für den betreffenden Dienst fungieren, wie der am Netzteil Ihres PCs.disabled
manual
Eine mögliche pythoneske Version könnte so aussehen:
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)
Hinweis: Ich würde gerne CMD verwenden, da ich mit PowerShell noch nicht vertraut bin, bin aber für Vorschläge offen.
Antwort1
Hier ist ein Beispielskript für Sie.Batch-Skript zum Umschalten der Dienste „Windows Update“ und „Trusted Installer“.. Ersetzen Sie es wuauserv
durch den Dienst Ihrer Wahl und entfernen Sie TrustedInstaller
die Referenzen entsprechend.
Backup-Link(Internetarchiv)
Antwort2
Wir alle fangen jeden Tag irgendwo an. ;-} Alles, was Sie brauchen, finden Sie in den PowerShell-Hilfedateien.
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();
#>