Jump to content

Nick22

Members
  • Gesamte Inhalte

    107
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Nick22

  1. zum beseren verständnis:

     

     

    ------------------------------------------------------------------------------------

    @echo off

     

     

    if "%OS%"=="Windows_NT" goto WINNT

    if exist %windir%\putinenv.exe goto WIN9X

     

    copy \\server\NetLogon\putinenv.exe %windir%

     

    :WIN9X

     

    %windir%\putinenv.exe L

     

    echo "Ihre Laufwerke werden nun gemappt"

    if exist \\server\%username%$ goto user

    net use h: \\server\user

    goto abteilung

     

    :user

    net use h: \\server\%username%$

    goto abteilung

     

    :abteilung

    net use g: \\server\abteilungen

    net use k: \\server\anwendungen

    echo "Fertig!!"

     

    goto END

     

     

    :WINNT

     

    echo "Ihre Laufwerke werden nun gemappt"

    if exist \\server\user\%username% goto user2

    net use h: \\server\user /PERSISTENT:NO

    goto abteilung2

     

    :user2

    net use h: \\server\user\%username% /PERSISTENT:NO

    goto abteilung2

     

    :abteilung2

     

    net use g: \\server\abteilungen /PERSISTENT:NO

    net use k: \\server\anwendungen /PERSISTENT:NO

     

    echo "Fertig!!"

     

    goto END

     

    :END

     

    exit 0

     

    ------------------------------------------------------------------------------------

  2. hiho wiggi

     

    das problem mit den w98 rechner hatte ich anfangs auch, weil w98

    1. keine variable %username% hat und

    2. kein verzeichnis unterhalb einer freigabe mappen kann

     

    also habe ich ein wenig rumgetrixt. um eine variable %username% (und mehr) zu erstellen, habe ich im anmeldeskript erst die abfrage gemacht, ob es sich um ein winNT/2k oder XP rechner handelt. das machst du mit der varable

    IF %OS%==Windows_NT goto WINNT

     

    wenn dies nicht der fall ist, dann kann es sich nur ein OS handeln wie win9x oder ME, die diese %username% variable nicht haben. dort gibt es ein nettes tool, das "putinenv.exe" heißt. (musst du mal googlen). mit dem befehl "putinenv L" erzeugt dieser auf den win9x/me rechnern ein paar variablen wie %username% oä.

     

    2. wenn du beispielsweise ein verzeichnis "user" auf dem "server" freigegeben hast, und mit den win9x/me maschienen versuchst ein verzeichnis "unterhalb" von user zu mappen, wird dies fehlschlagen (also: net use u: \\server\user\%username%). da musste ich leider die userverzeichnisse explizit freigeben, aber damit die freigaben auf dem server übersichtlich bleiben, habe ich die freigaben der win9x/me user versteckt, also \\server\%username%$

     

    ist zwar auch ein wenig arbeit, aber du kannst dir die erstellung der userskripts für jeden user ersparen.

     

    hoffe, ich konnte helfen

    nick

  3. hallo nochmal,

     

    habe mal wieder ne frage zum scripten:

     

    ich habe ein fax-programm, das über dos skript die zu sendenen nachrichten vom server holt, zum fax konvertiert bzw. als pdf (bei emailversand) und diese dan über ein faxstatus-tool anzeigt (also eine log-datei).

    dieses programm ist nicht von uns, sondern extern gekauft (MCAFAX). das problem an dem ding ist, das das skript von zeit zu zeit ausfällt. der task ist einfach aus (läuft auf einer NT workstation).

     

    1. kann mir vielleicht jmd sagen, wieso das ding ständig abstürzt? es ist ja schließlich eine endlosschleife.

     

    2. meine idee war ja schon, das skript irgendwie auf aktivität zu prüfen und wenn es abschmiert, das es automatisch neu gestartet wird. dazu war meine überlegung, dass ich durch das fax-programm bei jedem durchlauf eine datei erzeugen lasse, die dann ja mit einem zeitstempel (erstellungsdatum) erzeugt wird. dadurch wollte ich dann durch ein anderes skript diese datei auf aktuallität testen. (in etwa: if ERSTELLUNGSDATUM von DATEI mehr als minus 2min von TIME_JETZT dann starte FAXPROGRAMM)

    wie kann ich das machen?

  4. das sieht echt ganz vielversprechend aus, werde es noch testen. habe mir gestern auch nochmal kixstart angeschaut und mir die 120seiten doku ausgedruckt. habe es zwar nur überflogen, bin aber jetzt schon begeistert, was damit alles möglich ist, vorallem, weil wir noch viele win9x/me rechner haben, die nicht automatisch netzwerkrelevante variablen haben. (da behelfe ich mich ja immoment mit nem kleinen tool namens "putinenv", das %username%, %computername% usw. auf win9x rechner erzeugt)

     

    achso: bei dem "server-status" skript ist noch ein kleiner fehler drin. in der abfrage, wo die email funktion gesetzt ist, ist ein falsches pipe vor. der soll eigendlich nur ne email schicken, wenn "net send computername" nicht verfügbar ist. wenn du es benutzt, dann müsstest du das noch ändern.

     

    ps: bist mir echt ne große hilfe beim skripten, werde wohl öfters auf dich zurückgreifen ;)

     

    nick

  5. hi thomas,

     

    ich bin damit jetzt endlich weitergekommen. immoment funktionieren die meisten bedingungen, die ich an das skript stelle, es ist aber noch verbesserungsfähig: (alles eine zeile)

     

    FOR /F %%a IN (server.txt) DO ping -w 1000 -n 1 %%a | find "Antwort" 1>nul 2>nul && echo Server OK: %%a || echo Server nicht erreichbar: %%a && call CSOUND 4186,2093,3136,1568,2637,1318,2093,1046(4),4186,2093,3136,1568,2637,1318,2093,1046(4) && net send RECHNERNAME Server %%a ist nicht erreichbar 1>nul 2>nul | IF %ERRORLEVEL%==0 blat -to email@adresse.de -subject Serverstatus -body Server %%a machte Probleme >> status.log

     

    die IF-anweisung, die eine email senden soll, wenn der nachrichtendienst nicht verfügbar ist, funktioniert nicht. und die protokollierung funktioniert auch nicht, aber das kann ich über ein call aus einer anderen batch machen.

     

    hast mir bis jetzt echt gut geholfen, danke dir

     

    nick

  6. hi thomas,

     

    ich habe dein erstes skript ausprobiert und mit vielen variationen geändert:

     

    -----------------------------------------------------------------------------------

    FOR /F %%a IN (server.txt) DO call:sub1

    goto:end

    :sub1

    ping -w 1000 -n 1 %%a | find "Antwort" 1>nul 2>nul

    if %ERRORLEVEL%==0{

    rem hier wäre alles i.O.

    rem mache hier was ok macht}

    else {

    rem das wäre der Fehlerfall

    net send zumir %%a ist nicht erreichbar }

    :end

    -----------------------------------------------------------------------------------

     

    die subroutine führt er aus, aber die variable %%a übergibt er einfach nicht an die subroutine.

     

    das 2. skript bin ich gerade am testen, das ist bestimmt nicht schlecht, um adminanmeldungen zu überprüfen. da werde ich mich nochmal mit beschäftigen.

     

     

    so langsam überlege ich, ob ich mir das nicht mit ner programmiersprache mache.

     

    danke dir aber schonmal, vielleicht fällt dir ja nochwas ein?!

     

    nick

  7. hi himbidas,

     

    ja, ich benutze win2k.

     

    danke für die antwort. deine for-schleife ist super, die funktioniert echt gut. habe aber das problem, das ich bei "OK" oder bei "FEHLER" mehrere dinge machen will, desshalb kann ich das nicht in einer zeile schreiben. also bei fehler soll er bspw. eine email schreiben, eine log-datei füllen und .. irgendwas sonst noch. gibt es die möglichkeit ein anfang und ende einer schleife über mehrere zeilen zu machen?

     

    also:

    ------------------------------------------------------

    for IRGENDWAS dann mache:

    DAS

    und DIES

     

    SONST

    DAS

    und DIES

    ------------------------------------------------------

     

    oder kann ich das mit den "|" weitergeben?

     

    frage am rande: unterschied zwischen "|" und "||" ??

     

    nick22

  8. und noch ne frage dazu:

     

    ich würde gerne viel mit variablen arbeiten, bin aber neuling was schleifen in batch angeht und habe auch noch nix passendes gefunden, was mir bei folgenden problem weiterhilft.

     

    ich habe ja mehrere systeme, die ich abklapper mit dem befehl:

     

    --------------------------------------------------------------------------

    :SERVERSPRUNGPUNKT

    ping -n 2 123.456.789.123 | findstr (0%

    IF %ERRORLEVEL%==0 goto SERVEROK

    echo SERVER FALSE

    goto NEXTSERVER

    :SERVEROK

    echo SERVER OK

    --------------------------------------------------------------------------

     

    ist es möglich, dass ich das in einer abfrage vereinige, und die serverinformationen in eine variable packe? ich muss dann aber einen timer einbauen, der die batch nach der überprüfung der X systeme beendet. also:

     

    --------------------------------------------------------------------------

    variable1=SERVER IP / NAME

    variable2=SERVER IP / NAME

     

    SERVERANZAHL=8

     

    :START

    prüfe server "variableX" solange X<SERVERANZAHL

    X++ / X=X+1

    goto START

    --------------------------------------------------------------------------

    (logischer aufbau)

     

    wie kann ich das umsetzen?

  9. hi thomas,

     

    erstmal danke für antwort, ich glaube da habe ich jemanden gefunden, der schon öfter sowas gemacht hat. also, die serverabfrage (und andere systeme wie router und internetverbindung) realisiere ich mit nem ping befehl und einer abfrage der ausgabe. die abfrage wird durch ein zweites skript gesteuert, damit nur fehler in dem skript erscheinen.

     

    server.bat:

     

    :SERVERSPRUNGPUNKT

    ping -n 2 123.456.789.123 | findstr (0%

    IF %ERRORLEVEL%==0 goto SERVEROK

    echo SERVER FALSE

    goto NEXTSERVER

    :SERVEROK

    echo SERVER OK

     

    server2.bat:

     

    call server.bat | findstr FALSE > test.txt

    IF %ERRORLEVEL%==1 goto OK

    call CSOUND 4186,2093,3136,1568,2637,1318,2093,1046(4),4186,2093,3136,1568,2637,1318,2093,1046(4) #macht nen sound

    echo Fehler im System:

    type test.txt

    date /t

    time /T

    net send "Rechnername" Hinweis, das ein Fehler vorliegt.

     

    in einem dritten skript wird diese ausgabe der server.bat noch in einer log-datei geschrieben.

     

    wenn ein fehler auftritt, zeigt mir das skript den string an, der den wert FALSE enthäht, somit habe ich sofort die information, was nicht klappt.

     

    so sieht die anzeige aus:

     

    Fehler im System:

    Internet FALSE

    Mo 15.12.2003

    16:09

    Die Nachricht wurde erfolgreich an "RECHNERNAME" gesendet.

     

    aber diese nachricht ist eine vordefinierte nachricht, die ich geschrieben habe, ich würde aber gerne den string "Internet FALSE" weiterschicken.

     

    nick

  10. hallöle,

     

    ich habe mir ein kleines skript gebastelt, das verschiedene systeme auf verfügbarkeit prüft. wenn ein system nicht verfügbar ist, gibt der pc einen piepston aus. jetzt möchte ich das noch verfeinern. möchte die information, welches system nicht läuft, über "net send" verschicken

     

    call server.bat | findstr FALSE > test.txt

    -gibt einen text aus, der besagt, welches system nicht läuft und schreibt diesen in die datei

    gibt es dort eine möglichkeit die ausgabe in eine variable zu packen? (dann brauch ich den umweg über die datei nicht)

     

    net send RECHNERNAME ??? (eine datei kann ich nicht schicken)

     

    also muss ich den inhalt der datei test.txt in eine variable bekommen. wie mach ich das?

     

    nick

  11. hi zusammen,

     

    ich habe hier schon ein bisschen gesucht über das thema, das wohl kaum jemand versteht: MS+Lizenzen!

     

    wir haben hier viele produkte von microsoft im einsatz, ua. alle windows versionen bei den clients, winNT und win2k server, office und andere produkte. ich weiß auch, dass wir in sachen lizensierung etwas zurückliegen.

     

    ca. 120PCs + 5MS server

    ca. 100x office (meist office 2000)

    ca. 40x win2k

    ca. 50x win9x

    ca. 10x winxp

    rest dos, win3.11, win95, winME

     

    was würdet ihr empfehlen, wie man die lizensierung einheitlich machen kann?? wie kann ich open lizenz am besten nutzen? kann ich die einzellizenzen übernehmen oder anrechnen? weiterbenutzen?

     

    fragt, wenn was unklar ist!

     

    nick

  12. du kannst mit regedt32 berechtigungen in der registry vergeben.

     

    hatte mal ein problem mit einer software, die als admin installiert werden musste, aber der hauptbenutzer konnte es nicht benutzen, da das programm in die registry schreiben muss. auf dem ordner habe ich dann die berechtigung geändert.

  13. trendmicro officescan

    - serverseitige updateabfrage

    - automatische clientinstallation

    - clientupdate durch anmeldeskript

    - aktuellere patternfiles als bei der konkurenz (norton, mcaffee)

    - geringe performence benötigt

    - user kann virenscanner nicht abschalten!!!

     

    haben es in einem netzwerk von ca. 150client im einsatz, bin hellauf begeistert, da es einfach läuft.

     

    nur zu empfehlen (hatte auch schon mit norton und mcafee gearbeitet, da war mir die performenceeinbußen zu hoch und die installation zu aufwenig)

  14. google hilft immer ;)

     

    (hätte auch gerne den link mit bildern geschickt, darf man ja leider hier nicht)

     

     

    Unter Windows Me steht plötzlich in der DOS-Box, im DOS-Fenster für “z” ein “y”, und Umlaute wie “ä,ö,ü” sind nicht mehr da, wo sie auf einer deutschen, österreichischen oder schweizer Tastatur (Keyboard) hingehören; Der deutsche Zeichensatz in der DOS-Box . funktioniert nicht mehr.

     

     

    Einfach entsprechende Einträge in die autoexec.bat und config.sys eintragen, wie man es von älteren Windows Versionen wie Windows 3.1 oder Win95 / Win 98 gewohnt ist, geht nicht, denn: Windows Me entfernt automatisch die für den deutschen Zeichensatz verantwortlichen Einträge aus den Dateien "autoexec.bat" und "config.sys", da sie im Windows-GUI “unnötig” Ressourcen benötigen. Beim erneuten Booten sind die geänderten Eintragungen wieder weg. Sparen Sie sich die Mühe, denn es gibt eine elegantere Methode, ganz ohne Tastaturtreiber download:

     

    Lösung für das Problem “Deutscher Zeichensatz für DOS Programm unter Windows ME”:

    Klicken Sie auf Ihrem Windows ME Desktop auf “Start”, auf "Ausführen" und tragen Sie im sich öffnenden Eingabefeld den Befehl " msconfig" ein. Es erscheint das Fenster "Systemkonfigurationsprogramm ". Dort klicken sie die letzte Registerkarte "International" und

     

    entfernen alle Pfadangaben vor den eingetragenen Dateinamen.

     

    ALSO: VORHER: C:\Windows\Command\country.sys >>>> NACHHER: country.sys

     

    das gleiche für ega.cpi:

     

    VORHER: C:\Windows\Command\ega.cpi >>>> NACHHER: ega.cpi

     

    das gleiche für keyboard.sys:

     

    VORHER: C:\Windows\Command\keyboard.sys >>>> NACHHER: keyboard.sys

  15. beide standorte dsl? business dsl? (feste ip?)

    beide internet?

    beide ads?

     

    wenn du alles mit "ja" beantworten kannst, würde ich auch auf die vpn lösung gehen. wäre nur zu klären, wie sicher das netz sein muss? reicht dir eine softwarelösung? möchtest du eher mit hardware arbeiten? (zu empfehlen).

     

    wir haben auch vpn-anbindung, realisiert über eine watchguard firewall. cisco setzen wir nur für standfest und wählverbindungen ein. feste IP serverseitig, dynamische für die außendienstler. verbindung verschlüsselt (ipsec).

     

    für deine anzahl an clients reicht eine kleine soho firewall, sollte aber mit zertifikaten arbeiten können.

     

    vielleicht konnte ich dir helfen

    nick

  16. die umgebungsvariablen bei NT/2K und XP sind eigendlich identisch, desshalb reicht eigendlich eine abfrage, ob es ein winNT "basierendes" system ist oder nicht.

     

    if %OS%==Windows_NT goto NT

     

    rem hier fängt skript für win 9x und ME an

     

    goto end

     

    :NT

     

    rem hier das skript für winNT/2k/XP

     

    goto end

     

    :end

     

     

    um win9x/ME mit mehr variablen auszustatten (zb. %username%), kann ich dir das tool "putinenv.exe" empfehlen, das kann beim anmeldeskript einige sachen auslesen und packt die dann in die umgebungsvariablen.

     

    anfang meiner skiptdatei:

     

    if "%OS%"=="Windows_NT" goto WINNT

    if exist %windir%\putinenv.exe goto WIN9X

     

    copy \\server\NetLogon\putinenv.exe %windir%

     

    :WIN9X

     

    %windir%\putinenv.exe L

     

    vielleicht konnte ich dir helfen

     

    nick

×
×
  • Neu erstellen...