
72417
29.09.2010, aktualisiert um 12:36:26 Uhr
.bat ausführen ohne eingeloggten User
Moin,
ich mal wieder.
Mein Script läuft echt gut und tut fast alles, was es soll.
Also, nach dem wöchtenlichen Imagen, soll morgens um 7:10 das Script zur Druckerinstallation ausgeführt werden, damit die Leute ab 7:30 auch drucken können.
Die Drucker installiert und gibt er automatisch auch frei, führt das auch als Admin aus.
Mein problem ist jedoch, ich lasse das Script nach erfolgreicher Installation und Freigabe noch einen Logeintrag auf eine Samba-Share schreiben. Das macht das Script aber nur, wenn ich mich lokal als Admin anmelde, egal ob per Hand ausgeführt oder so wie gewünscht per AT. Wenn ich NICHT angemeldet bin, führt er das echo-command nicht aus/hat keinen Zugriff. Das ganze führe ich als NT AUTHORITY\SYSTEM per AT aus.
Hier da Script (in gekürzter Fassung):
Muss irgendein Rechte-Problem sein denke ich. Die .bat kann ich aber nicht als "Administrator" per AT ausführen, denn wir haben ein Masterimage welches verteilt wird und er im AT dann testclient\Administrator zur Ausführung nutzen möchte (was natürlich auf den anderen Clients dann nicht funktioniert,deswegen NT AUTHORITY\SYSTEM)
Vielleicht hat jemand ja eine Idee, wie gesagt,geht nur um das Log schreiben, alles andere macht er korrekt.
MfG,
Chris
ich mal wieder.
Mein Script läuft echt gut und tut fast alles, was es soll.
Also, nach dem wöchtenlichen Imagen, soll morgens um 7:10 das Script zur Druckerinstallation ausgeführt werden, damit die Leute ab 7:30 auch drucken können.
Die Drucker installiert und gibt er automatisch auch frei, führt das auch als Admin aus.
Mein problem ist jedoch, ich lasse das Script nach erfolgreicher Installation und Freigabe noch einen Logeintrag auf eine Samba-Share schreiben. Das macht das Script aber nur, wenn ich mich lokal als Admin anmelde, egal ob per Hand ausgeführt oder so wie gewünscht per AT. Wenn ich NICHT angemeldet bin, führt er das echo-command nicht aus/hat keinen Zugriff. Das ganze führe ich als NT AUTHORITY\SYSTEM per AT aus.
Hier da Script (in gekürzter Fassung):
::Drucker Installation für den Raum R_0524
if "%IP%"=="34" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R0524" /f %windir%\druckertreiber\brother\7030\brpr7030.inf /r "usb001" /m "Brother DCP-7030 Printer" && goto ausgabe
:: Die Ausgabe schreibt eine Logdatei / in die vorhandene Log-Datei für den
:: jeweiligen Client mit einem angeschlossenen Drucker
:ausgabe
echo.[%date%]-[%time%]:Printerinstallation on host %COMPUTERNAME% was successful >> \\opsi\logshare\%COMPUTERNAME%.txt && goto end
:: Ende des Scripts
:end
Vielleicht hat jemand ja eine Idee, wie gesagt,geht nur um das Log schreiben, alles andere macht er korrekt.
MfG,
Chris
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151996
Url: https://administrator.de/forum/bat-ausfuehren-ohne-eingeloggten-user-151996.html
Ausgedruckt am: 04.05.2025 um 08:05 Uhr
2 Kommentare
Neuester Kommentar

moin,
leg einen User Log an, der ein Passwort wie Pr0t0k011 oder sowas ähnlich banales hat und der im \\opsi\logshare\ schreibrechte hat.
und dann schreib das script komplett um....(bzw. stlle durch ein goto end sicher, dass das log wirklich nur dann geschrieben wird, wenn es nach Erfolg "&&" und per goto angesprungen wurde)
Gruß
leg einen User Log an, der ein Passwort wie Pr0t0k011 oder sowas ähnlich banales hat und der im \\opsi\logshare\ schreibrechte hat.
und dann schreib das script komplett um....(bzw. stlle durch ein goto end sicher, dass das log wirklich nur dann geschrieben wird, wenn es nach Erfolg "&&" und per goto angesprungen wurde)
::Logshare mappen
net use z: \\opsi\logshare\ Pr0t0k011 /user:sambadomain\Log
::Drucker Installation für den Raum R_0524
if "%IP%"=="34" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R0524" /f %windir%\druckertreiber\brother\7030\brpr7030.inf /r "usb001" /m "Brother DCP-7030 Printer" && goto ausgabe
goto end
:: Die Ausgabe schreibt eine Logdatei / in die vorhandene Log-Datei für den
:: jeweiligen Client mit einem angeschlossenen Drucker
:ausgabe
echo.[%date%]-[%time%]:Printerinstallation on host %COMPUTERNAME% was successful >> z:\%COMPUTERNAME%.txt && goto end
:: Ende des Scripts
:end
if exist z:\. net use Z: /d /y
Gruß