Jump to content

Batch Problem


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hi Leute,

 

bin grad dabei ein kleines Batchscript zu schreiben, mit dem ich die Anmeldung am Terminalserver deaktivieren/aktivieren kann. Dabei häng ich allerdings fest. Um kurz zu erläutern wie ich mir das Ganze vorgestellt habe:

 

1. Ausgabe ob Anmeldung möglich ist/nicht möglich ist (change logon /query)

2. Ergebnis auslesen (find <-- da hängts)

3. Je nachdem ob Anmeldung möglich ist oder nicht, das Gegenteil einstellen

 

Bei mir hängts allerdings beim Auslesen des aktuellen Anmeldestatus mit find. Scheinbar wird immer Errorlevel 1 (Suche durchgeführt aber keine Übereinstimmung) zurückgegeben

 

@ECHO OFF
change logon /query | Find "AKTIVIERT" >NUL
IF NOT ERRORLEVEL 1 GOTO deaktivieren

change logon /query | Find "DEAKTIVIERT" >NUL
IF NOT ERRORLEVEL 1 GOTO aktivieren

GOTO Fehler

:deaktivieren
change logon /disable
ECHO Anmeldung deaktiviert.
GOTO end

:aktivieren
change logon /enable
ECHO Anmeldung aktiviert.
GOTO end

:Fehler
ECHO Es ist ein Fehler aufgetreten.
GOTO end

:end
PAUSE>NUL

 

Hat einer ne Idee? Oder eine gänzlich andere Lösungsvariante?

 

Gruß :)

Geschrieben

Also meines wissens kann man RDP auf Knopfdruck irgendwo deaktivieren und damit kann sich nur noch der Administrator anmelden obwohl das jetzt ein widerspruch ins sich ist. Wenn du nicht willst das wer auf dem teil arbeitet dann nimm die Nutzergruppe aus den Remotebenutzer heraus.

Geschrieben

naja ich wollte das halt aus dem Grunde machen, dass wenn ich Softwareupdates etc. mach, dass kein User connecten kann... anfangs hab ich auch gesucht, ob man den TS nich einfach mal umstellen kann, dass sich niemand anmeldet. Muss aber zugeben,habe auf die schnelle nichts gefunden. Somit wollt ich das halt über change logon machen.

Is auch noch ein Win2k Server ohne AD...

Geschrieben

:D nee, aber das Problem liegt nicht darin, welche Befehle ich nehmen soll, sondern, dass ich den Status in meinem Batchfile nicht ermitteln kann ;) und das ist im Moment nicht abhängig davon, ob ich nun change user oder change logon nehme, da beide gleich aufgebaut sind, von der Anwendung her

Geschrieben

mhm hab ich auch schon probiert... geht nicht :suspect:

 

ich hätte als kind net soviel mit lego spielen sondern mich schon mit batch beschäftigen sollen :rolleyes:

 

change logon /query > C:\logon.log

 

erstellt bei mir eine leere Datei :suspect:

Geschrieben

naja >> steht für Anhängen an existierende Datei wenn mich nich alles täucht...des würde zum überschneiden beim parsen führen irgendwann... > dagegen überschreibt die datei soweit ich weiß... aber falls es dich beruhigt, >> erzeugt auch nur eine leere Datei bei mir :suspect:

Geschrieben

Das > oder >> ist in diesem Falle egal. Nein nicht egal, > war schon richtig, denn >> hängt ans Dateiende an. Nur leider gibt "change logon /query" keinen Text an die Konsole zurück. Somit funzt auch die Umleitung in eine Datei nicht und auch die Pipe ans FIND bekommt eine leere Zeichenkette. Beschwer dich beim Programmierer des "CHANGE"-Befehls.

Aber warum gehst du nicht so vor:

- change logon /disable

- Softwareinstallation

- change logon /enable

Geschrieben

Ich habs irgendwie geahnt... hatte auch mal was gelesen, dass nicht alle Befehle nen Output auf Konsolenebene machen... naja muss ne andere Lösung her... schau mer mal. Der Tag ist noch lang :D

 

Danke aber erstmal soweit

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...