72417
Sep 29, 2010, updated at 10:36:26 (UTC)
6151
2
1
.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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 151996
Url: https://administrator.de/contentid/151996
Printed on: April 25, 2024 at 22:04 o'clock
2 Comments
Latest comment
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ß