Nick22
-
Gesamte Inhalte
107 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von Nick22
-
-
es geht auch mit nem dos skript. habe es hier im forum irgendwo gelesen. kanst du ja mal nach suchen.
-
haben die auch bei uns, haben es aber extern einrichten lassen, weil es einfach zu viele herstellerspezifischen einstellungen gibt, die unsereins nicht kannste.
-
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
------------------------------------------------------------------------------------
-
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
-
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?
-
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
-
ich bin nochmal auf dein "admin-test" skript zurückgekommen und habe es auf meine ansprüche verändert. du hast mich erst auf die idee gebracht.
nächstes projekt: inventarisierung der MS betriebssysteme.
-
so, ich denke, ich habe fertig.. zumindest teilweise
kannst dir das ja mal angucken.
ist noch verbesserungsfähig, aber für den anfang solls reichen
beachte readme, dann kann nix schiefgehen
nick
-
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
-
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
-
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
-
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?
-
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
-
weiß also niemand mehr was?
nick
-
email wäre auch ne nette idee, hatte ich auch schon dran gedacht, doch ein popup-fenster ist effektiver!
danke aber schonmal, werde das mal testen.
hat sonst noch wer ne idee??
-
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
-
gut, das heißt also, das es keinen eindeutigen weg der lizensierung gibt, sondern für jede situation des unternehmen, zugeschnittene wege.
na gut, das hilft mir schonmal weiter, danke melzer
-
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
-
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.
-
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)
-
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
-
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
-
der nachrichtendienst hat nix mit dem ADS zu tun, der dienst wird standardmäßig automatisch gestartet, aber ich meine mich erinnern zu können, dass man die policies dafür ändern kann.
-
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
Netzwerkprobleme
in Windows Forum — LAN & WAN
Geschrieben
wie hast du dein netzwerk konfuguriert?? protokoll?