Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe eine Batchdatei, die von meinem Rechner aus ohne Probleme läuft (klar, bin ja auch Admin).

Nun möchte ich diese Datei auf den Clients verteilen und dort ggfs von den Usern ausführen lassen. Das Problem ist, dass die User keine Adminrechte haben und die Batchdatei somit ihren Dienst verweigert.

Ich möchte, dass in der Batchdatei der Administrator samt Passwort hinterlegt wird, damit die Datei ohne Probleme ausgeführt werden kann - Wo muss ich da was angeben?

Hier mein (für euch total simples) Script:

@echo off


cls


sc \\srv_002 stop spooler


timeout /T 15 /NOBREAK


SC \\srv_002 start Spooler


echo Spooler-Neustart: OK


timeout /T 3 /NOBREAK

An welcher Stelle muss ich da die Daten des Serveradministrators angeben?

Macht euch keine Gedanken drum, dass andere das Passwort auslesen könnten...dafür hab ich schon eine Lösung ;)

Mit freundlichen Grüßen

Joe

Geschrieben

Macht euch keine Gedanken drum, dass andere das Passwort auslesen könnten...dafür hab ich schon eine Lösung ;)

"Der Code wird alle 30min geändert"?

Mal ehrlich, das ganze hört sich für mich sehr, sehr unschön als Lösung überhaupt an.

Zugegeben, ich weiß nicht auf Anhieb, was man da jetzt ändern müsste, aber überdenke das mal generell.

Geschrieben (bearbeitet)

Nein, die Batch wird zur .exe und kann dann nicht mehr von den Usern ausgelesen werden.

Ich brauche nur noch den Befehl für die Anmeldedaten. Beim net use z.b. kann man ja auch Anmeldedaten hinterlegen...sowas müsste hier doch auch iwie möglich sein, oder liege ich da falsch?

Edit: Falls es eine Möglichkeit gibt, für die Batch oder daraus erstellte Exe, die Anmeldedaten beim Ausführen zu hinterlegen (z.B. Ausführen als Administrator), wäre auch dies eine Lösung...aber selbst, wenn man einen Link erstellt und dann das Programm mit dem Parameter run as ausführt - selbst mit Passwortabfrage, speichert er sich zum Schluss das Passwort nicht :(

Bearbeitet von der.muede.joe
Geschrieben
Nein, die Batch wird zur .exe und kann dann nicht mehr von den Usern ausgelesen werden.

Die kann man mit ein klein wenig Ahnung genauso auslesen wie eine Textdatei.

Das Passwort irgendwo fest zu hinterlegen ist ganz einfach ein riesen Sicherheitsloch und das solltest du tunlichst lassen.

Geschrieben

Wenn ich das richtig sehe, soll das Script den Druckspooler auf einem bestimmten Server neu starten, weil der sich in unregelmäßigen Abständen aufhängt, richtig? Wenn ja, würde ich eher das Problem (den Absturz des Druckspoolers) und nicht die temporäre Lösung (den simplen Neustart des Druckspoolers) angehen, dann kommst Du gar nicht in die Verlegenheit, irgendwo ein Admin-Kennwort hinterlegen zu müssen.

Geschrieben

*sigh*

...

Vor Ort wird sich schon keiner die Mühe machen, eine Exe zu entschlüsseln, um an ein mögliches Kennwort zu gelangen...

Ich schrieb doch schon im ersten Post, dass ihr euch darum keine Sorgen machen braucht.

Und ja, der Druckspooler hängt sich hin und wieder auf, was mit einer Software zu tun hat und der Hersteller weiss auch bescheid...Sind viele Ursachen, die man beheben könnte, wenn man gewillt ist, Geld in die Hand zu nehmen - aber da dies meist nie der Fall ist, bastel ich einfach eine Lösung...

Nur um die Lösung hier vor Ort userfreundlich zu gestalten, benötige ich halt noch den Stein der Weisen, zur Hinterlegung der Admindaten in der Batchdatei.

So nett eure Ratschläge auch sein mögen, die Kritik hat noch keine Lösung im Ansatz gebracht - dass es nicht das gelbe vom Ei ist, weiss ich selber.

Geschrieben

Vor Ort wird sich schon keiner die Mühe machen, eine Exe zu entschlüsseln, um an ein mögliches Kennwort zu gelangen[...]dass es nicht das gelbe vom Ei ist, weiss ich selber.

Sorry aber diese Einstellung ist dämlich und genau sowas ist auch der Grund dafür warum es in sovielen Firmen die es eigentlich auch besser wissen müssten trotzdem immer wieder zu Hacks, Datenklau und sonstigem kommt.

Selbst wenn von den Usern niemand irgendwas böses im Schilde führen sollte. Was ist mit dem der sich (vielleicht von außen) zugriff auf einen dieser Rechner verschafft und dort dann plötzlich das Systemadmin Kennwort findet womit ihm dann ohne Aufwand alle Türen offen stehen. Das kann jawohl nicht dein Ernst sein.

Geschrieben

vllt. hab ich es überlesen, aber welcher User soll denn das Skript ausführen?

Leg doch einfach einen User an, der die notwendigen Rechte besitzt und der das dann ausführt?! Dann brauchst du auch keine Anmeldedaten dort eingeben. Du kannst es auch unter "Geplante Tasks" reinlegen und dort dann automatisch alle 15Min. ausführen lassen.

Aber eigentlich sollte sich der SW-Hersteller, der das ganze nicht hinbekommt, darüber Gedanken machen..... es ist zwar ein Workaround, aber eigentlich ein unnötiger Aufwand..

Geschrieben

Kreativ sein.

a) du gibts wie oben schon geschrieben den Usern das Recht den Druckspooler neu zustarten

B) du lässt den Druckspooler hart alle x Minuten neu booten (wie oft kommt es denn vor das er sich aufhängt)

c) bastellösung:

auf dem Druckserver eine Freigabe einrichten auf die alle User Schreibrechte haben

Die User bekommen ein Script das eine Datei mit festgelegtem Namen in dieser Freigabe erzeugt

Auf dem Server läuft ein Script im Admin kontext das dieses Verzeichnis alle Minute abfragt und wenn die Datei existiert diese wieder löscht und den Druckspooler neu startet.

Geschrieben

Ich spinne die Kritik an dem Vorgehen noch weiter:

Ein Printserver ist ja nicht nur für einen Drucker zuständig. User A schickt auf Drucker 1 einen grösseren grafiklastigen Druckjob ab, der ein wenig Zeit braucht, bis er komplett durchgerendert ist. Dem User B, der mal eben ein kurzes Schreiben auf Drucker 1 ausdrucken will, dauert das zu lange, also mal eben kurz den Spooler abschiessen, Druckjob 1 ist weg, Kollege A geht mit dem Strick in den Keller und Kollege B kann drucken.

Alternativ kann es unter Umständen auch vorkommen, dass Kollege A mit diversen grad griffbereiten Meinungsverstärkern bei Kollege B auftaucht und das Vorgehen ausdiskutieren will.

Kurz: du doktorst nur (und das auch noch äusserst suboptimal) an den Phänomenen rum.

Wenn du das wirklich immer noch mit einer Batch erledigen willst, lauten die Zauberworte PSExec und RunAs.

Geschrieben

Guten Morgen auch :)

Also ich finde es ehrlich fazinierend, dass sich alle so einen Kopf um die Sicherheit machen, wobei mein Anliegen was anderes ist...die wenigsten sind da leider genauer drauf eingegangen.

@Chief: der Druckserver ist NUR für den drucker da, weil Treibertechnisch lässt sich der Drucker nicht auf einem anderen Server sauber ansteuern.

Und das RunAs läuft leider nicht so, wie es soll.

Das PSExec schau ich mir mal genauer an, thx für die Info :)

Geschrieben (bearbeitet)

ich kann mich nur wiederholen. Leg einfach deine Batch unter Geplante Tasks und lass sie vom Administrator ausführen. Du brauchst dafür keine Benutzerdaten im Skript hinterlegen. Beim Zeitplan des Tasks kannst du unter "Erweitert" auf alle 15 Min. einstellen.

Das Skript sieht dann in etwa so aus:

net stop spooler

net start spooler

Aber wie Chief schon schreibt, wenn ein großer Auftrag in der Pipeline ist und der Dienst neu gestartet wird, ist dieser futsch....

Wenn du das mal probiert hast, dann berichte, ob es jetzt geht oder nicht...

PS: wir denken scheinbar alle einen Meter weiter....

Bearbeitet von DarkMaster
Geschrieben

Hallo DarkMaster,

Geplante Tasks entfällt, weil der Druckserver sich vll einmal alle 2 Wochen verabschiedet.

Die Ursache sind u.a. Buchhaltungssoftware, alte Treiber, neues System - neue Treiber gibt es nicht, alternative Treiber haben ein vollkommen anders Druckbild...deswegen bleibt es bei den alten Treibern.

Würden neue/alternative Treiber gehen, wäre dieser eine Drucker auch auf dem anderen Server mit installiert und es gäbe keine Probleme.

Grosse Aufträge für den Drucker wird es nie geben (Nadeldrucker für Berichte) und wenn einer nicht Drucken kann, können es alle nicht - deswegen ja die Idee mit der Batch zum Neustarten.

Und darin würde ich halt gerne die Daten hinterlegen.

Ich finde es wirklich lobenswert, dass sich alle Gedanken drum machen, dass es ein Sicherheitsrisiko ist und bei einem Kunden würde ich niemals so etwas einrichten. Nur sollte es jemand von ausserhalb, wie auch immer, auf unseren Server schaffen, um dann die aus der Batch generierten Exe zu !finden! und um sie dann wieder lesbar machen möchte, um an das Kennwort zu gelangen...nun..ganz ehrlich...wenn jemand so weit hier kommt, dann braucht er das Kennwort auch nicht mehr.

Aber es muss doch irgendeine Befehls oder Commandzeile geben, die man in die Batchdatei integrieren kann, dass die gleich als Admin ausgeführt wird?

MfG

Joe

Geschrieben (bearbeitet)

Geplante Tasks entfällt, weil der Druckserver sich vll einmal alle 2 Wochen verabschiedet.

jetzt sprechen wir aber nicht nur von einem reinen Restart des Spoolers. Dafür müsstest du den Status des Spoolers-Dienstes abfragen und wenn er gestoppt ist, diesen dann erst wieder anstarten.

Dafür müsstest du dir ein Skript bauen, wie z.B. hier beschrieben

Frage: Batch zur Dienstüberwachung - Batch & Shell - suche.administrator.de

Oder du machst es einfach über die Dienst-Eigenschaften --> im Fehlerfall --> Neustarten (bei Wiederherstellen). Das dürfte vermutlich der schnellste Weg sein....

oder evtl. auch noch interessant.... http://www.administrator.de/forum/Programm-zur-Batch-%C3%9Cberwachung-172782.html

Aber es muss doch irgendeine Befehls oder Commandzeile geben, die man in die Batchdatei integrieren kann, dass die gleich als Admin ausgeführt wird?

werden wir doch mal konkret. Als welcher User soll denn der Task laufen? Was spricht dagegen, diesen unter dem Admin-Account einzurichten?

Ansonsten hat es Chief doch bereits gesagt -> RunAs.

Runas

Poste doch einfach mal, was du bisher gemacht hast.

Mir kommt es so vor, als würdest du jeden Ratschlag ignorieren und nur auf dem Sicherheitsaspekt rumreiten. Ich glaube, wir haben es verstanden, dass es in deinem Fall nicht kritisch ist. Ob dem so ist, können wir nicht beurteilen. Du brauchst dich deshalb nicht ständig zu wiederholen.

Bearbeitet von DarkMaster
Geschrieben

Also so schaut es aus:

Im EventLog ist zu den Zeiten, wo das drucken von jetzt auf gleich nicht mehr funktioniert, nichts zu finden - also keine Einträge im Ereignisprotokoll.

Der Dienst befindet sich, wenn das Problem auftritt, im Status "Gestartet"

Im Fehlerfall Neustarten ist schon aktiviert, hilft aber nicht, da wohl kein Fehler erkannt wird (Ereignisprotokoll - kein Eintrag)

Die von mir erwünschte Batch soll von einem Standard-User mit normalen Rechten gestartet werden, die Batch selber soll sich dann aber selber via Script mit Adminrechten versehen, also als Administrator laufen.

Ich hatte auch schon eine Verknüpfung der Batchdatei erstellt und dort das RunAs hinterlegt, samt Befehl, dass Passwort dann zu speichern. Es kommt dann auch zur Passwortabfrage, aber die Befehle der Batchdatei werden dann nicht mehr ausgeführt. Beim erneuten Ausführen der Batch kommt dann keine Abfrage mehr, es springt kurz das CMD-Fenster auf und schliesst sich ohne nennenswerte Meldung wieder - ein Ausführen der Befehle bleibt aber auch aus.

Geschrieben

Keine gute Idee, denn würden die User den Server komplett neu starten können, würde alles zum Erliegen kommen.

Da es noch immer keine Lösung für das standardmässige Ausführen der Batch als Administrator gibt, sieht die Lösung so aus: Sofern ein Admin im Haus ist, wird diese Batch ausgeführt ...wenn nicht, C´est la vie...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...