Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch funktioniert auf einem von 30 Rechnern nicht

Mitglied: Peanut

Peanut (Level 1) - Jetzt verbinden

12.01.2006, aktualisiert 15:40 Uhr, 6138 Aufrufe, 12 Kommentare

Windows XP Service Pack 1

Hallo,

zur Verwaltung von ca. 50 Rechnern mit unterschiedlichen Betriebssystemen habe ich einen kleinen Batchablauf geschrieben, der mir die Anmeldedaten der User in eine Datei schreibt.

@echo off
set PFAD="q:\datenaustausch\ip\ip.txt"
for /F "tokens=3,1" %%i in ('ver^|find "Windows"') do set WINVER=%%j
if %WINVER%==XP for /F "tokens=1,*" %%i in ('date/t') do set DATD=%%i
if not %WINVER%==XP for /F "tokens=1,*" %%i in ('date/t') do set DATD=%%j
for /F "tokens=1,*" %%i in ('time/t') do set TIM=%%i
for /F "tokens=1,*" %%i in ('ipconfig^|find "IP-Ad"') do set IP=%%j
for /F "tokens=1,*" %%i in ('ipconfig/all^|find "Host"') do set HOST=%%j
for /F "tokens=1,*" %%i in ('ipconfig/all^|find "Physi"') do set MACADR=%%j
echo %DATD%>>%pfad% : %TIM%>>%pfad% : %username%>>%pfad% : %IP%>>%pfad% : %HOST%>>%pfad% : %MACADR%>>%pfad%

Einer der 30 XP Rechner meldet: "for" ist an dieser Stelle syntaktisch nicht verarbeitbar
Wenn ich die WINVER Variable einzeln setze und den Batch nochmal starte, passiert im cmd-Fenster nichts mehr. Alle anderen Rechner schreiben brav ihre Daten in die Datei.

Hat jemand eine Idee, woran das liegen kann?
Mitglied: 13100
12.01.2006 um 08:52 Uhr
du schreibst was von windows xp sp1, anschliessend von 50 rechnern
mit unterschiedlichen OS, anschliessend beziehst du dich auf 30 XP
rechner, is bissal schwer zu folgen, was da jetz für ein betriebssystem
am problemkind drauf is, bzw. bei den rechnern wo es funktioniert.
Bitte warten ..
Mitglied: Biber
12.01.2006 um 09:06 Uhr
Moin Peanut,

möglicherweise ist bei diesem einen Rechner die (standardmäßig eingeschaltete) "Befehlserweiterung" NICHT aktiv.
Setz mal bitte probeweise die Zeile
Setlocal EnableExtensions
als zweite Zeile ein.

Wenn das das Problem löst, ändere bei diesem Rechner den Wert in der Registry.
~~~
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
....
"EnableExtensions"=dword:00000001
...

HTH Biber
Bitte warten ..
Mitglied: Peanut
12.01.2006 um 09:41 Uhr
Hallo Biber,

vielen Dank für die schnelle Antwort. Ergänzung von "Setlocal EnableExtensions" bringt leider keine Änderung.
In der Registry habe ich alle "EnableExtensions" Einträge geprüft. Alle sind auf "=dword:00000001" gesetzt.


Hallo Angeldust,

Falls die Problembeschreibung unübersichtlich war:
Der Batch wird über ein Anmeldeskript im Netz auf 50 Rechnern ausgeführt. Davon laufen 5 unter NT4 SP6, 15 unter 2000 SP 4 und 30 unter XP SP1. Nur einer der 30 XP Rechner schreibt die Daten nicht in die Datei ip.txt. Egal ob der Batch übers Netz oder lokal gestartet wird: die For-Zeilen scheinen nicht ausgewertet zu werden

Folgende Dateien habe ich bereits ohne Erfolg mit denen eines "funktionierenden" Rechners überschrieben:
c:\windows\system32\config.nt
c:\windows\system32\autoexec.nt
c:\windows\system32\command.com
c:\windows\system32\dosx.exe
c:\windows\system32\mscdexnt.exe
c:\windows\system32\Ntio.sys
c:\windows\system32\Ntdos.sys
c:\windows\system32\Ntvdm.exe
c:\windows\system32\Redir.exe
Gibt es noch mehr DOS-relevante Dateien unter XP?
Bitte warten ..
Mitglied: 13100
12.01.2006 um 09:50 Uhr
bzw. ersetze mal die cmd.exe, die sollte meiner auffassung nach,
den befehl "for" mitbringen.
Bitte warten ..
Mitglied: Biber
12.01.2006 um 09:54 Uhr
Hm, dann wären die nächsten 4 Überprüfungen:
- was kommt denn bei "ver" zurück an diesem Rechner? (bleibt %WINVER% leer?)
- zeigt %comspec% auf "....\CMD.exe" oder (falsch) auf "...Command.com"?
- ist der PATH kaputt - wird "find.exe" nicht gefunden?
- ist das Netzlaufwerk q:\ sicher vorhanden?

Nur sicherheitshalber.. muss irgendwas albernes sein. Sonst poste nochmal ein "Set" von diesem Rechner.

Nächste Eskalationsebene: diesen Batch Zeile für Zeile an dem Rechner per CMD-Line durchkaspern... irgendwo muss ja ein anderer Fehler auftreten als nur "FOR syntaktisch nicht...." , denn das ist IMHO ein Folgefehler.

Gruß Biber
Bitte warten ..
Mitglied: Peanut
12.01.2006 um 10:42 Uhr
Hallo Biber,

vielen Dank für Deine Hilfe.

Die comspec-Variable verwies tatsächlich auf command.com (warum auch immer?).
Bitte warten ..
Mitglied: Biber
12.01.2006 um 10:49 Uhr
@Peanut

Gern geschehen, hat aber Angel schon vor mir gepostet

Biber
Bitte warten ..
Mitglied: Peanut
12.01.2006 um 11:20 Uhr
Hallo Biber,
hallo Angeldust,

mein Dank geht natürlich an Euch beide...

aber vielleicht habe ich den Beitrag von Ageldust falsch verstanden. Denn als ich den Batch lokal im cmd.exe-Fenster ausführte, kam ebenfalls oben genannte Fehlermeldung und die WINVER-Variable blieb leer. Erst die Änderung der Umgebungsvariable in den Systemeigenschaften half.

Jedenfalls bin ich sehr froh, dass die Kiste mit Eurer Hilfe jetzt wieder macht, was ich will.
Bitte warten ..
Mitglied: 13100
12.01.2006 um 11:52 Uhr
jetz will ich aber schon wissen was comspac genau macht
Bitte warten ..
Mitglied: Biber
12.01.2006 um 12:28 Uhr
@Engelsstaub
In der Variable COMSPEC ist festgelegt, welches Programm als Command-Interpreter genutzt wird.
Aufbau: COMSPEC=[Lw:\][Pfad]NameDesCommandInterpreters.ext [Parameter]-->z.B.: "...=c:\Windows\CMD.Exe"
Historische Gründe:
1) In den DOS-Zeiten gab es "nur" die command.com, aber war insofern wichtig, weil beim Booten von Diskette auch eine Kopie des Command-Interpreters auf der Bootdisk nötig war. Aus Performance-Gründen konnte "im laufenden Betrieb", zwischen 2 Dos-Kommandos auf die "schnellere" Command.com auf Festplatte gewechselt werden konnte.
Beim Booten galt: "COMSPEC=A:\Command.com"; schneller war dann "COMSPEC=C:\Dos\Command.com" o.ä.

2) die Laufzeitumgebung der Command.com konnte durch Neu-Setzen von COMSPEC angepasst werden, z.B. wenn (zur Laufzeit) bei komplexeren Batchen mehr Platz für Umgebungsvariablen erforderlich war.

3) die command.com konnte auch durch Freeware-Replacements/"Batch-Enhancer" ersetzt werden, die ein paar Befehle mehr hatten. Auch das "im laufenden Betrieb".

4)
-- Heute:bei den heutigen Windows-Versionen werden 2 Command-Interpreter mitgeliefert
a) die command.com: mehr oder weniger der "DOS 7.0"-Befehlssatz; siehe oben - keine FOR /F..Verarbeitung etc.
Nur aus Kompat-Gründen dabei.
b) die "erweiterte" CMD.exe, die die so genannten "Befehlserweiterungen" mitbringt. Aus nicht klar erkennbaren Gründen lassen sich diese "Befehlserweiterungen" auch abschalten - aber wer das aus welchen Gründen jemals tun sollte, hat M$ (noch) geheimgehalten. (Abschalten=DisableExtensions; Einschalten=EnableExtensions=Standard; Status prüfen=vergessen von M$)

HTH Biber
Bitte warten ..
Mitglied: 13100
12.01.2006 um 14:00 Uhr
1-3) soll dat heissen, wenn ich eine console programmiere (weil mir gerade
sooooo... fad is), dass windows sie dann mittels comspec für alle cmdline-
g'schicht'rln verwenden würde. dat wäre ja grundsätzlich geil, wenn ich
aber daran denke was man damit gegebenenfalls für nen scheiss machen
kann, wird mir übel. ich mag windows, ich mag einstellungsmöglichkeiten,
aber die modularität und möglichkeiten von windows bringt mich auch immer
wieder zum heulen.

4) kenn jetz nich genau den umfang, was hier genau abgeschaltet wird.
könnte aber je nach anwendungsart vielleicht durchaus sinn bringen,
damit man per remoteconsle keine schweinereinen macht. den ein exploit
is immer nur so gut, wie die funktionen die ein os zur verfügung stellt.
Bitte warten ..
Mitglied: Biber
12.01.2006 um 15:40 Uhr
@7203
1-3) soll dat heissen, wenn ich eine console programmiere (weil mir gerade
sooooo... fad is), dass windows sie dann mittels comspec für alle cmdline-
g'schicht'rln verwenden würde. dat wäre ja grundsätzlich geil,
...ja, ist es auch. Den Weg sind VIELE gegangen, für so banale Sachen wie Bereitstellung von @TODAY oder simple Rechenfunktionen oder Programmierkonstrukte wie IF..THEN..ELSE oder SELECT..CASE.
Oder eben auch FOR-Schleifen, die es unterm COMMAND.COM nur in einfachster Form gab.

wenn ich aber daran denke was man damit ...
für nen scheiss machen kann, wird mir übel.
Na, ja... wer von den Youngstern benutzt den überhaupt noch ein Konsolenutility??
Die nehmen eine Klicki-Bunti-Dateisuche mit ###wedelndem Hund, weil sie gar nichts anderes kennen.
Die halten Programme im Handy-Logo-Design für "normal"

ich mag windows,
Perversling!

ich mag einstellungsmöglichkeiten,
aber die modularität
...Du meinst dieses Zusammengestoppelt-Wirkende?
und möglichkeiten von windows bringt mich auch immer
wieder zum heulen.
mitfühlend Taschentuch reicht

4) kenn jetz nich genau den umfang, was hier genau abgeschaltet wird.
Bei ziemlich jedem CMD-Befehl kommt als 5.Hilfezeile:
"Wenn die Befehlserweiterungen aktiviert sind, geht noch..." und dann drei Bildschirmseiten...
Siehe FOR /?; SET /?; MORE /?; CALL /? IF /?....

könnte aber je nach anwendungsart vielleicht durchaus sinn bringen,
Nein. Bzw. "könnte" ja... ich hab noch keinen entdeckt.

damit man per remoteconsle keine schweinereinen macht. den ein exploit
is immer nur so gut, wie die funktionen die ein os zur verfügung stellt.
Nein, das Problem ist umgekehrt. Wenn plötzlich und unerwartet die "erweiterten Funktionalitäten" fehlen oder abgeschaltet sind, laufen deine Login-Skripte nicht mehr.
So waren wir ja in diesem Thread gelandet.


Nochmal zur Missbrauchsmöglichkeit.
Es wäre natürlich möglich, unter dem Namen bzw. dem Etikett "COMSPEC=c:\windows\OTHERCMD.exe" irgendeine Malware zu betreiben.
Aber ebenso und mit weniger Aufwand kannst Du einen Virus oder einen Dialer unter dem Namen Explorer.exe oder FreeCell.exe irgendwo hinstellen.
Oder auch einen Schädling. der Windows.exe oder Win.com heißt..
Da entsteht kein zusätzliches Scheunentor.

Was in der Tat allerdings einige Skript-Kiddies machen:
Diverse Trojaner stellen eine Datei namens "CMD.com" in das %windir%\system32-Verzeichnis.
Diese ruft zuerst ihren Malware-Prozess auf und startet dann die CMD.exe.
*.com-Dateien werden zuerst gesucht, dann gleichnamige *.exe-Dateien.
Wenn also ein User aufruft: "Start" -"Ausführen" "cmd", dann wird dieser Schädling für Extrem-DAUs aktiv.

Erschöpfend behandelt, Angel?

Grüße Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Choice funktioniert nicht
gelöst Frage von BuggerBatch & Shell5 Kommentare

Hallo, Ich habe folgenden Choice Befehl: Doch leider funktioniert es nicht so, wie es sollte. Punkt 1-9 funktioniert problemlos ...

Windows Netzwerk

Batch- Datei: Netzwerkzugriff funktioniert nicht

Frage von 133722Windows Netzwerk14 Kommentare

Hallo zusammen, ich habe folgendes Problem: eine kleine Batchdatei soll bei einem Programmstart einen Satz an Programmdaten von einem ...

LAN, WAN, Wireless

Wlan, 30-40 Nutzer

gelöst Frage von nirmelLAN, WAN, Wireless17 Kommentare

Hallo liebe Community, folgende Situation: kleines Büro (ca. 150qm, schlauchförmig angelegt, mehrere Unterbüros, dünnwandig getrennt) Standgeräte sind per Lan ...

Peripheriegeräte

ASCOM Office 30 Telefonkabel

gelöst Frage von SalzmandelPeripheriegeräte9 Kommentare

Kennt jemand die Anschlußbelegung vom ISDN-Telefon ASCOM Office 30. Das Anschlußkabel fehlt und es ist ein 4p4c auf 8p4c-Kabel. ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 20 StundenWindows 107 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 1 TagSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 4 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 4 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware23 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Windows Server
Eingeschränkte Gruppen - Spezielle Benutzergruppe hinzufügen
Frage von killtecWindows Server17 Kommentare

Hallo, ich möchte gerne folgendes Realisieren: Ich habe bei mir Eingeschränkte Gruppen via GPO aktiv und möchte nun der ...

Microsoft Office
Videodateien auf Windows Server 2008 R2 öffnen schlägt fehl
Frage von SchroediMicrosoft Office15 Kommentare

Hallo zusammen, wir haben das Problem das embedded Videos in PowerPoint (O365) auf unserer Citrix Farm (6.5) nicht abgespielt ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...