[Batch-Script] Windows Dienste Aktivieren und starten Huhu! Wie eventuell schon ersichtlich war, schlage ich mich als relativer Scripting Neuling gerade beruflich mit Batch und vbScript herum. Nun hab ich mal wieder ein Problem... aber sehr selbst. Ich habe mir ein Script geschrieben, welches einen beliebigen Windows Dienst aktivieren (aka auf "Auto" setzen) soll und ihn dann startet. Zu Testzwecken muss nun Telnet herhalten [CODE]REM Batch Script to edit the Star-Value of WIndows Services REM --add "hklm\SYSTEM\CurrentControlSet\Services\[Service Name]" /v Start /t REG_DWORD /d [Value] REM 2 (0x00000002) equals the start type Auto REM 3 (0x00000003) equals the start type Manual REM 4 (0x00000004) equals the start type Deactivated REM Set the Telnet Service to Start type "Auto" and start Telnet reg add "hklm\SYSTEM\CurrentControlSet\Services\TlntSvr" /v Start /t REG_DWORD /d 2 net start TlntSvr pause[/CODE] Dumm nur, dass es nicht funktioniert oO Genauer gesagt: Der Registry Schlüssel wird geändert, die Dienste-Übersicht von Windows sagt auch "Automatisch", aber das Script gibt die Fehlermeldung, dass der Dienst nicht gestartet werden kann, da er entweder deaktiviert ist oder nicht vorhanden ist 8-O Auch das splitten in 2 Scripts, um überschneidungen in der Ausführung zu verhindern, schafft keien Abhilfe.... Hat jemand ne Lösung parat? |
AW: [Batch-Script] Windows Dienste Aktivieren und starten UPDATE: Problem gelöst... Falls Zukünftig jemand über die SuFu drauf stöße: Es ist mit Batch Scripten so ohne weiteres nicht möglich. Hier wird tatsächlich nur der Reg-Key verändert. Dem Dienst selbst ist das (bis zum Neustart des Rechners) egal. Eine Lösung ist lediglich über ein vbScript ohne Neustart des PC's möglich. [code]'Service-ID: 2 = Autostart, 3 = Start on Demand, 4 = Disabled Const SERVICE_START_ID = 4 Set oShell = CreateObject("WScript.Shell") Set oWshNet = CreateObject("WScript.Network") sComputer = oWshNet.ComputerName logfile = "" sService = "TlntSvr" x = StopService(sService, oShell) WScript.Echo logfile Function StopService(sService, oShell) ' set Messenger to Enabled bOK = ConfigureService(sService, SERVICE_START_ID, sComputer) ' start the Messenger service oShell.Run "net.exe stop """ & sService & """", 0, True If bOK Then logfile = logfile & sService & " configured" & vbCrLf Else logfile = logfile & "Failed to configure " & sService & vbCrLf End If End Function Function ConfigureService(sService, iType, sNode) Dim oComputer, oService Set oComputer = GetObject("WinNT://" & sNode & ",computer") On Error Resume Next Set oService = oComputer.GetObject("Service", sService) If Err.Number <> 0 Then ConfigureService = False Exit Function End If If oService.StartType <> iType Then oService.StartType = iType oService.SetInfo WScript.Sleep 1000 End If ConfigureService = True End Function [/code] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.