schrecke
Goto Top

Starttyp von Diensten per Batch/Script umschalten

Hi.

Also folgendes. Ich möchte mir ein Script anfertigen, mit dem ich den Starttyp umschalten kann zwischen deaktiviert, manuell oder automatisch. Damit meine ich nicht den Dienststatus Gestartet, beendet, angehalten, ... Diesen zu verändernt geht ja mit dem befehl net start/stop Dienst.

Kennt jemand ne Möglichkeit, wie ich den Starttyp ändern kann?

Danke euch, Bye schrecke


[edit] Nach "Batch & Shell" verschoben von Atti58 [/edit]
[edit] Auf "Tutorial" geändert von Biber [/edit]

Content-Key: 18019

Url: https://administrator.de/contentid/18019

Printed on: April 18, 2024 at 14:04 o'clock

Mitglied: 11078
11078 Oct 19, 2005 at 08:52:49 (UTC)
Goto Top
Hallo,

über einen kleinen Umweg ist das möglich. Zunächst: Allein mit Batch geht das nicht!

Aber der Starttyp eines jeden Dienstes ist in der Registry hinterlegtt. Über ein Kommandozeilentool wie reg.exe (in Windows XP vorhanden, bei älteren Windows-Versionen bin ich nicht sicher) kann man auch aus einem entsprechenden Aufruf aus einer Batch-Datei Registry-Werte bearbeiten. Dieser Ansatz sollte helfen.

Die Dienste stehen in folgendem Schlüssel der Registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Jeder Dienst hat einen eigenen Unterschlüssel. Am Beispiel des Dienstes "DHCP-CLient":

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp

In diesem Schlüssel ist ein DWORD-Wert namens "Start". Je nach Starttyp hat dieser einen anderen Zahlenwert zugewiesen:

2 (0x00000002) ist der Starttyp Automatisch
3 (0x00000003) ist der Starttyp Manuell
4 (0x00000004) ist der Starttyp Deaktiviert

Denke daran, dass Du beim Nutzen von reg.exe aber nicht einfach die Zahlen als Werte zuweisen kannst, sondern die Zahl in Hexadezimal als Wert angibst (in Klammern).


Gruß,
Tim
Member: schrecke
schrecke Oct 19, 2005 at 08:57:52 (UTC)
Goto Top
aha, danke erstmal für deinen Tip. Ich vermute aber mal das dann der Dienst erst nach neustarten des PC umgestellt ist, oder?
Mitglied: 11078
11078 Oct 19, 2005 at 09:30:15 (UTC)
Goto Top
Hallo,

aha, danke erstmal für deinen Tip. Ich
vermute aber mal das dann der Dienst erst
nach neustarten des PC umgestellt ist, oder?

Der Starttyp greift eigentlich sowieso nur beim Starten des PCs. Wenn der Rechner läuft sind alle Dienste nach Maßgabe ihres Sarttyps gestartet (mal ausgeklammert, dass ein Dienst vielleicht im Fehlerfall nicht so gestartet werden kann, wie er sollte; aber das wäre ja ein Fehler).

Wenn die Dienste gestartet sind, ist nicht mehr der Starttyp maßgebend sondern - wie Du ja schon geschrieben hast - der Status ("gestartet", "angehalten", "beendet" - und das kann man im laufenden System mit "net stop" und "net start" beeinflussen).

Wenn Du Dir immer noch unsicher bist, schreib einfach mal, was Du genau vorhast. Vielleicht fällt es mir dann einfacher zu entscheiden, ob mein Tipp hilfreich ist. face-smile


Gruß,
Tim
Member: schrecke
schrecke Oct 19, 2005 at 09:40:55 (UTC)
Goto Top
es geht um ne Anmeldung im Firmennetzwerk. 2 W-Lans und 2 Einwahlprogramme dafür. Da die Dienste, der Einwahlprogramme nicht miteinander auskommen is mein Auftrag aus der Chefetage, per script den einen Dienst zustarten und den andern zu beenden und den Starttyp ebenfalls umstellen. Daszu wird dann noch per Script das jeweilige Programm gestartet, was aber eher weniger ne Rolle spielt. Über die Programme kann ich jetzt nicht viel sagen. Sind firmeninterne Eigenentwicklungen.
Mitglied: 11078
11078 Oct 19, 2005 at 09:58:29 (UTC)
Goto Top
Hallo,

es geht um ne Anmeldung im Firmennetzwerk. 2
W-Lans und 2 Einwahlprogramme dafür. Da
die Dienste, der Einwahlprogramme nicht
miteinander auskommen is mein Auftrag aus
der Chefetage, per script den einen Dienst
zustarten und den andern zu beenden und den
Starttyp ebenfalls umstellen.

Starttyp umstellen bringt meiner Meinung nach hierbei nicht wirklich etwas. Denn wenn das Netzwerk geladen ist, sind die Dienste auch schon geladen! Zumindest eben die, die auf "automatisch" stehen. Denn nicht wenige werden ja auch benötigt, um das Netzwerk nutzen zu können; deshalb sollten sie logischerweise zum Zeitpunkt der Anmeldung schon zur Verfügung stehen.

Würde es nicht helfen, den Starttyp für die betreffenden zwei Dienste einfach außen vor zu lassen (oder ihn generell und für immer auf "manuell" zu stellen - das musst Du aber nicht per Script machen sondern einfach über services.msc) und per Script einfach den abzuschalten, der gerade nicht gebraucht wird / bzw. den anschalten, der gebraucht wird?

Gruß,
Tim
Member: schrecke
schrecke Oct 19, 2005 at 10:05:46 (UTC)
Goto Top
ja. ich sollte halt nach der Möglichkeit suchen. mein Chef sagte auch, wenn es ni geht dann gehts ni. ich werd ihm das ma erzählen.

vielen dank erstmal für eure hilfe
Member: schrecke
schrecke Oct 19, 2005 at 10:16:15 (UTC)
Goto Top
Es geht darum, die Arbeit komfortabler zu machen. sprich, ich nehme das einen Netzwerk, der eine Dinest wird gestartet, der andere beendet/deaktiviert. Wenn dann der rechner neu gestartet wird soll gleich die Einstellunge übernommen werden. Falls man dann mal ein anderes Netzwerk braucht. Muss das Script wieder ausgeführt werden und alles halt anders herum gestellt werden.

Wie wäre das wenn ich per script den wert in der Registry ändern würde. Wie muss ich da vor gehen?
Mitglied: 11078
11078 Oct 19, 2005 at 10:27:15 (UTC)
Goto Top
Hallo,

Falls man dann mal ein anderes Netzwerk
braucht. Muss das Script wieder
ausgeführt werden und alles halt anders
herum gestellt werden.

OK, es muss also nicht bei jedem Startup des Rechners ausgewählt werden, welches Netzwerk zur Verfügung stehen muss. Dann kann man auch einfach den Starttyp ändern und nach Neustart passt es dann. Bis zum Neustart kann man ja immer noch per net stop den jeweils anderen nicht benötigten Dienst abschalten.

Wie wäre das wenn ich per script den
wert in der Registry ändern würde.
Wie muss ich da vor gehen?

Lies mal hier nach:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddoc ...


In Deinem Fall wohl (aus dem Kopf, nicht getestet):

reg add "hklm\SYSTEM\CurrentControlSet\Services\Unterschlüssel des Dienstes" /v Start /t REG_DWORD /d 4

Damit wird der Starttyp des Dienstes auf "deaktiviert" gestellt (hab nachgeschaut, man kann anscheinend doch als Wert einfach "4" schreiben und muss es nicht in der hexadezimalen Form "0x00000004").

Gruß,
Tim
Member: schrecke
schrecke Oct 19, 2005 at 12:25:53 (UTC)
Goto Top
ich hab mal nachgeguggt, bei mir gibt es ControlSet001 und 002. Was soll ich n da jezze machen?
Member: schrecke
schrecke Oct 19, 2005 at 12:37:17 (UTC)
Goto Top
sorry, Fehler meinerseits. Mich würde aber trotzdem der Unterschied zwischen CurrentsConrtolSet und ControlSet001 und 002 interessieren.
Mitglied: 11078
11078 Oct 19, 2005 at 13:42:40 (UTC)
Goto Top
Hallo,

in den verschiedenen ControlSets werden unterschiedliche Hardwareeinstellungen etc. gespeichert.

After Windows 2000 has collected information about hardware, the system is interested in which hardware configuration it should use. If the workstation has multiple hardware profiles set up, the user is presented with a list of those profiles. The user can select from one of the hardware profiles or select the Last Known Good Configuration by pressing F8 and picking it from a list (the Last Known Good Configuration is the configuration that was used the last time Windows 2000 booted successfully). The hardware profile and the Last Known Good Configuration are known as ControlSets. A ControlSet contains a complete set of keys and entries needed by Windows 2000 to launch. Windows 2000 stores a number of ControlSets, each identified by a number (e.g. ControlSet001, ControlSet002, etc.). More about ControlSets later.

[Quelle: http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/f ...]

In den einzelnen Controlset... Schlüsseln stehen also spezielle Einstellungen bezgl. des letzten als funktionierend bekannten Zustands des Systems ("last known good" - verwendet nach Abstürzen) und der Optionen, die Du über F8 beim Start booten kannst.

Kann sein, dass hier auch verschiedene Hardwareprofile gespeichert werden (habe damit noch nie arbeiten müssen).

Genaueres weiß ich auch nicht, ist vielleicht Thema für einen eigenen Beitrag!

Gruß,
Tim
Member: ketchup
ketchup Oct 19, 2005 at 18:24:09 (UTC)
Goto Top
hi,

warum das rad neu erfinden?
es gibt von MS ein script (ich glaub es ist vbs), das genau das gewünschte macht.
ich setze es ein, um gewisse services am server zu stoppen und auf disabled zu setzen.

den scriptnamen weiß ich jetzt leider nicht auswendig - könnt ich nachliefern wenn gewünscht face-wink

j.
Member: schrecke
schrecke Oct 19, 2005 at 18:32:22 (UTC)
Goto Top
ja, sehr gewünscht. das wäre ne gute Idee
Member: superboh
superboh Oct 20, 2005 at 00:30:10 (UTC)
Goto Top
Hallo,

es gibt auch unter WinXP oder neuer das Tool sc.exe. Bei Win2000 kann man es aus dem ResourceKit installieren.
Mit dem kann man u.a. so was relativ einfach per Kommandozeile machen.

Gruss,
Thomas
Member: Biber
Biber Oct 20, 2005 at 01:25:49 (UTC)
Goto Top
@superboh
Hatte auch überlegt, ob ketchup die SC.exe meint.
Aber mit der kann man/frau zwar Dienste am Server starten, stoppen, pausieren lassen und auch neu anlegen in oder löschen aus der Registry - aber eben nicht deren Starttyp (Automatisch, Manuell, Deaktiviert) ändern.
Es sei denn über den Weg, den Dienst komplett rauszulöschen und mit neuem Status anzulegen.
Aber so etwas ist ja stillos *lacht*
@schrecke Den vorletzten Satz nur als Plan B vormerken!
@ketchup Bin auch schon total gespannt auf das VBSkript - das kenn ich noch nicht.

Biber
Member: ketchup
ketchup Oct 20, 2005 at 06:18:56 (UTC)
Goto Top
nein, ketchup meinte nicht "sc.exe" face-wink
sondern "service.vbs"

ist meiner meinung nach von MS - aus dem Windows Resource Kit (ich weiß aber nicht ob W2K oder W2K3 oder gar noch NT4 *gg*).
du kannst zB:
[cscript service.vbs /M disabled /N wuauserv] das WindowsUpdate-Service disablen

weitere optionen:
Controls services on a machine.

SYNTAX:
1. Service.vbs /L
[/S <server>][/U <username>][/W <password>]
[/O <outputfile>]

2. Service.vbs /G | /X | /R | /D | /M <StartMode>
/N <service>
[/S <server>][/U <username>][/W <password>]
[/O <outputfile>]

3. Service.vbs /I /E <execname> /N <service> [/C <DisplayName>]
[/S <server>][/U <username>][/W <password>]
[/O <outputfile>]

PARAMETER SPECIFIERS:
/L List all Services
/D List Service dependencies
/G Start a Service
/X Stop a Service
/R Remove a Service
/M Set the Service Mode
/I Install a service
/E The Full path and filename of the service
StartMode The Service Startup Setting.
Service A Service Name
DisplayName The Service name that appears in the listing/
server A machine name.
username The current user's name.
password Password of the current user.
outputfile The output file name.

EXAMPLE:
1. cscript Service.vbs /L /S MyMachine2
List installed services for the machine MyMachine2.
2. cscript Service.vbs /X /N snmp
Stops the snmp service on the current machine.
Member: Biber
Biber Oct 20, 2005 at 11:31:21 (UTC)
Goto Top
Wieder was gelernt....

Ein sehr schöner Thread - Dickes Danke an alle für die Super-Recherchen und Erklärungen.

Eigentlich kann dieser Beitrag "as is" in den Bereich Tutorials umgehängt werden. Wäre schade, wenn man/frau den nicht wiederfinden würde.

Begeistert
Frank / der Biber aus Bremen

P.S. @ketchup
Habe inzwischen auch eine (oder "die"?) Service.vbs gefunden - scheint dem 1999er-Datum nach aus dem NT-ResKit zu sein.
Member: superboh
superboh Oct 20, 2005 at 11:50:59 (UTC)
Goto Top
@Biber:
Mit was kann man den Starttyp von Diensten nicht ändern? Also sc.exe kann das, denn ein
sc config messenger start= disabled
setzt den Starttyp des Nachrichtendienstes auf deaktiviert.
Kann aber auch sein dass ich Dich missverstanden habe.

Gruss,
Thomas
Member: schrecke
schrecke Oct 20, 2005 at 11:58:48 (UTC)
Goto Top
ja, stimmt ich zu. Ich bedank mich mal bei allen die hier fleißig und kompetent rein geschrieben haben.
Member: Biber
Biber Oct 20, 2005 at 12:39:03 (UTC)
Goto Top
@superboh
>Kann aber auch sein dass ich Dich missverstanden habe.

Nein, Thomas, war mein Fehler. Da habe ich SC.exe unterschätzt bzw. die eingebaute Syntax-Hilfe nicht in allen Details gelesen. Danke für den Tipp!

Frank
Member: schrecke
schrecke Oct 21, 2005 at 10:25:08 (UTC)
Goto Top
ich mal wieder. also wie sich gerade raus gestellt hat kann ich sv.exe doch nicht verwenden, da teilweiße Windows 2000 eingesetzt wird. Nachinstallieren ist aber auch keine Lösungsvariante.
Nun mache ich es doch mit reg add ... Gibts es eine Möglichkeit, per script Werte in einem schlüssel auszulesen? Praktisch im Pfad HKLM\Sys.\Curen..\Service\dhcp den Wert von Start?
Ich müsste überprüfen, welcher Dienst im Moment aktiviert ist, um nicht einen Dinest zu aktivieren, der schon aktiviert ist.

danke euch
Member: Biber
Biber Oct 21, 2005 at 11:38:47 (UTC)
Goto Top
Moin schrecke,

Du kann das per *.bat und Reg.exe oder RegEdit.exe auslesen. oder per .vbs.
Für Batch sind diverse Beispiele im Forum, für *.vbs glaube ich auch.
Ein *.bat-Beispiel habe ich grad griffbereit:
::~~~ Batchschnipsel: Auslesen eines Reg-Values mit REG.exe
:: Delims ist ein TAB gefolgt von einem SPACE
FOR /F "TOKENS=2* DELIMS=	 " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Control Panel\International\iDate"') DO SET iDate=%%B  
ECHO HKEY_CURRENT_USER\Control Panel\International\iDate=%iDate%
::~~~ Batchschnipsel auslesen eines Reg-Values mit REG.exe

Sollte lesbar sein.
In Deinem Fall wäre aber wohl sinnvoller, den ganzen "ControlSet"-Zweig mit "RegEdit /E" zu exportieren und da mit Find durchzupflügen.

Ich muss mich da leider jetzt bis Montag ausklinken, aber, wie geschrieben, Beispiele gibts hier.
Grüße
Biber
Member: schrecke
schrecke Oct 21, 2005 at 11:40:41 (UTC)
Goto Top
vielen Dank, das wird mir weiter helfen
Member: ketchup
ketchup Oct 21, 2005 at 11:51:50 (UTC)
Goto Top
hi!

1. heißt das tool "sc.exe" bzw. mein vorschlag "service.vbs"
2. kannst das tool auch unter w2k einsetzen (einfach hinkopieren)
3. kannst du das tool auch von einer zentralen stelle auf den anderen clients/servern durchführen

ich würde mir nicht den aufwand machen, dies per registry und batch-files umzusetzen, sondern ein fertiges tool (á la sc.exe) einsetzen.

jürgen
Member: schrecke
schrecke Oct 25, 2005 at 09:17:41 (UTC)
Goto Top
kann mir jemand was zu den Errorlevels sagen? Wie die funzen? Hab dazu nix gefunden. Ich muss per script n Dienst anschalten sollte dieser aber schon an sein, bzw aktiviert und gestartet kommt eine unschönen Fehlermeldung die ich gerne abfangen möchte. Und ich denk ma ich muss das mit diesen Errorlevels machen, oder?

thx euch
Mitglied: 11078
11078 Oct 25, 2005 at 09:40:06 (UTC)
Goto Top
Hallo,

lies mal hier nach: http://www.robvanderwoude.com/errorlevel.html


Du kannst auch erzwingen, dass Fehler nicht ausgegeben werden oder in eine Datei:


Ersteres: Befehl 2&gt;nul
Letzteres: Befehl 2&gt;&gt;fehler.txt


Gruß,
Tim
Member: schrecke
schrecke Oct 25, 2005 at 10:36:51 (UTC)
Goto Top
ok, danke erstmal. hab ich n bissl versucht, aber ni das richtige hinbekommen. Kann es sein das man beim Befehl net die Fehlermeldung ni unterdrücken kann? Die Zeilen sehen bei mir so aus:

sc config %Dienst1% start= auto >nul
net start %Dienst1% >nul

wenn ich mal davon ausgehe, das der Dienst bereits auf automatisch gestellt ist und schon gestartet ist würden 2 Fehlermeldungen kommen. Mit >nul lässte sich die Fehlermeldung bei sc unterdrücken, bei net jedoch nicht. Ne Idee?
Mitglied: 11078
11078 Oct 25, 2005 at 11:15:02 (UTC)
Goto Top
Hallo,

sc config %Dienst1% start= auto >nul
net start %Dienst1% >nul

Das hast Du nicht richtig übernommen; die "2" in meinem Beispiel muss da schon rein, denn die Fehlermeldungen kommen in der Shell aus einem anderen "Kanal" als die restlichen Dinge, die man mit print so ausgeben kann. Um alle fehler ins Nirvana zu schicken, lenkt man deshalb den zweiten Kanal auf nul, also:

sc config %Dienst1% start= auto 2>nul
net start %Dienst1% 2>nul

Aber wie gesagt: So werden die Fehler nur nicht ausgegeben, wenn es das gewesen sein sollte, was Dich stört. Die Fehler sind aber dennoch da!

Wenn Du Fehlerbehandlungsroutinen bauen willst, müsstest Du so etwas machen wie:

if %errorlevel% > 0 then...


Gruß,
Tim

P.S.: Warum wird dieser Thread im Firefox nicht mehr richtig angezeigt? Irgendein "böses" Zeichen oder falsches Tag in einem Beitrag?
Member: Biber
Biber Oct 25, 2005 at 11:21:39 (UTC)
Goto Top
Och, schrecke,
das ist wieder was für mich face-wink

Habe ich mal ausufernd in einem meiner Batch-Tutorials beschrieben und ein bissi zu Errorlevels auch ().
Aber wenn Du heute zeitig essen willst, die Kurzfassung:

Output wird auf 2 "Kanälen" geschrieben.
1= STDOUT = normale Meldungen
2= STDERR = Fehlermeldungen

Wenn du schreibst
anweisung > wasauchimmer
wird es immer interpretiert als
anweisung 1> wasauchimmer
Kanal 2 / STDERR wird nicht umgeleitet.

Beispiele für die net-use-Umleitung beider Kanäle habe ich in meinem Anmeldescript in diesem Bandwurmthread vorgeturnt: Automatische Verbindung bei wechselnder IP
Bsp: Net use * /d >nul 2>&1

HTH
Biber
[Edit] @tim... sorry, hat sich überschnitten - ich tippe so langsam face-wink
Zu Deiner Frage:
>P.S.: Warum wird dieser Thread im Firefox nicht mehr richtig angezeigt? Irgendein "böses" Zeichen oder falsches Tag in einem Beitrag?
Maximale Threadlänge überschritten?? face-big-smile

@schrecke
Eins der schönen Errorlevel-Beispiele ist in der Windows-Hilfe versteckt unter "XCopy-Hinweise"
xcopy %1 %2 /s /e 

if errorlevel 4 goto ZuwenigSpeicher 
if errorlevel 2 goto Abbruch 
if errorlevel 0 goto Ende 

:ZuwenigSpeicher 
echo Nicht genügend Arbeitsspeicher zum Kopieren von Dateien oder 
echo ungültige Laufwerksbezeichnung bzw. unzulässige Befehlszeilensyntax. 
goto Ende 

:Abbruch 
echo Sie haben zum Beenden des Kopiervorgangs STRG+C gedrückt. 
goto Ende 
:Ende 

[/Edit]
Member: schrecke
schrecke Oct 25, 2005 at 12:11:17 (UTC)
Goto Top
alter yo ihr seit genial. vielen Dank an euch alle. nu is my script fertig face-smile
Member: Biber
Biber Oct 25, 2005 at 12:29:48 (UTC)
Goto Top
@schrecke
>nu is my script fertig face-smile
Ja, wo denn?? *Brilleputz* face-wink
Schönen Tag und Danke für diesen unterhaltsamen Thread!
Mitglied: 11078
11078 Oct 25, 2005 at 17:11:41 (UTC)
Goto Top
Hi!


Ja, wo denn?? *Brilleputz* face-wink

Auch *brilleputz*

Schönen Tag und Danke für diesen
unterhaltsamen Thread!

Ich schließ mich da an!


@Biber

@tim... sorry, hat sich
überschnitten - ich tippe so langsam

Du hast es sowieso besser erklärt face-smile


By-the-way: Ich hab vor einer Ewigkeit folgende Seite gefunden - ist eine ziemlich ausführliche Batch-Übersicht. Unser Biber braucht das zwar nicht mehr, aber bis er "Batch for Runaways - Part 87" als Tutorium geschrieben hat, werden Ungeübte wie ich auch dort mal vorbeischauen müssen...

http://www.robvanderwoude.com/batchfiles.html


In diesem Sinne &
viele Grüße,
Tim
Member: Biber
Biber Oct 26, 2005 at 15:22:39 (UTC)
Goto Top
@schrecke
Wenn Sobald Du Dein Script postest und dort wenigstens drei Kommentarzeilen drin sind, dann stufe ich den gesamten Thread von "Beitrag" hoch in "Tutorial".

Grüße aus dem heute sonnigen Bremen

Biber, Half-Mod Batch & Shell
Member: schrecke
schrecke Oct 26, 2005 at 16:01:31 (UTC)
Goto Top
ok, werde ich morgen machen. Wenn i wieder auf Arbeit bin. Einfach das script rein kopieren. K - fein
Member: schrecke
schrecke Oct 27, 2005 at 09:27:41 (UTC)
Goto Top
So, also hier mal das fertige Script. Es ging wie gesagt darum für 2 unterschiedliche W-Lan-Progs, von denen sich die Dienste nicht einander ab konten den einen Dienst zu beenden und den Starty deaktiviert zu schalten und bei dem andern Dienst das Gegenteil. Zu Testzwecken ich hab ich es mit den Diensten Design (Themes) und DHCP gemacht.

@echo off

echo Halli Hallo,
echo.

:start
echo.
echo Bitte W-Lan ausweahlen.
echo.
echo G - Designs aus, dhcp an
echo A - dhcp aus, Designs an
echo.

set Dienst1= "Themes"
set Dienst2= "DHCP"

set /p userinp=Auswahl:
set userinp=%userinp:~0,1%
if "%userinp%"=="G" goto D1
if "%userinp%"=="g" goto D1
if "%userinp%"=="A" goto D2
if "%userinp%"=="a" goto D2
echo Ungueltige Eingabe
ping /n 2 localhost >nul
cls
goto start

:D1
echo.
echo Einen Moment bitte ...
echo.
echo.

sc config %Dienst1% start= disabled >nul
net stop %Dienst1% 2>nul 1>nul
if errorlevel 2 goto Fehler
echo %Dienst1% deaktiviert
echo %Dienst1% beendet
echo.

sc config %Dienst2% start= auto >nul
net start %Dienst2% 2>nul 1>nul
if errorlevel 2 goto Fehler
echo %Dienst2% aktiviert
echo %Dienst2% gestartet
echo.

goto end

:D2
echo.
echo Einen Moment bitte ...
echo:
echo.

sc config %Dienst2% start= disabled >nul
net stop %Dienst2% 2>nul 1>nul
if errorlevel 2 goto Fehler
echo %Dienst2% deaktiviert
echo %Dienst2% beendet
echo.

sc config %Dienst1% start= auto >nul
net start %Dienst1% 2>nul 1>nul
if errorlevel 2 goto Fehler
echo %Dienst1% aktiviert
echo %Dienst1% gestartet
echo.
goto end

:Fehler
echo.
echo Die gewaehlten W-Lan-Einstellungen sind bereits vorhanden.

:end
echo.
echo.
echo Job erledigt, viel Spass beim arbeiten.
echo.

:endfrage
echo.
echo ... oder doch eine falsche Eingabe gemacht?
echo.
echo N - Neustart
echo B - Beenden
echo.

set /p userinp=Auswahl:
set userinp=%userinp:~0,1%
if "%userinp%"=="N" goto restart
if "%userinp%"=="n" goto restart
if "%userinp%"=="B" goto close
if "%userinp%"=="b" goto close
echo Ungueltige Eingabe
ping /n 2 localhost >nul
cls
goto endfrage

:restart
cls
ping /n 1 localhost >nul
goto start

:close
echo.
echo Tschaui, viel Spass beim arbeiten.
ping /n 2 localhost >nul

:: sc - zur Verwaltung von Diensten
:: sc config DIENST start= ... - Starttyp der Dienste ändern
:: net start/stop - Dinesten anhalten/ starten/ ..., nicht verwechseln mit dem Starttyp

viel Spaß damit.

Bye und vielen Dank für alles
Member: Biber
Biber Oct 27, 2005 at 10:01:28 (UTC)
Goto Top
Danke, schrecke,
ich häng das Ganze jetzt als "Tutorial" rein.

Anmerkung:
if "%userinp%"=="N" goto restart
if "%userinp%"=="n" goto restart
Kannst Du vereinfachen mit Parameter "/i" (Groß/Kleinschreibung egal)
if /i "%userinp%"=="n" goto restart

Schönen Tag
Biber
Member: schrecke
schrecke Jun 09, 2006 at 15:01:14 (UTC)
Goto Top
wenn du mich meinst würde ich dir empfehlen erstmal zu lesen was weiter oben steht.

Ja, ich hab ne Lösung, wie gesagt ... steht hier drin, paar Posts weiter oben
Member: Masterraven9
Masterraven9 Jun 07, 2007 at 18:16:14 (UTC)
Goto Top
hy ich hätte gerne mit "sc \\servername dienst" einen dienst ber netzwerk gestartet doch leider kommt immer Zugriff verweigert der Server wo der Dienst gestartet werden soll ist ein WinXP Prof PC