Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

.bat ausführen ohne eingeloggten User

Frage Entwicklung Batch & Shell

Mitglied: 72417

72417 (Level 1)

29.09.2010, aktualisiert 12:36 Uhr, 5396 Aufrufe, 2 Kommentare, 1 Danke

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):
01.
::Drucker Installation für den Raum R_0524 
02.
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 
03.
 
04.
:: Die Ausgabe schreibt eine Logdatei / in die vorhandene Log-Datei für den  
05.
:: jeweiligen Client mit einem angeschlossenen Drucker 
06.
	:ausgabe 
07.
	echo.[%date%]-[%time%]:Printerinstallation on host %COMPUTERNAME% was successful >> \\opsi\logshare\%COMPUTERNAME%.txt && goto end 
08.
	 
09.
:: Ende des Scripts 
10.
		:end 
11.
 
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
Mitglied: 60730
29.09.2010 um 14:37 Uhr
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)
01.
::Logshare mappen 
02.
net use z: \\opsi\logshare\ Pr0t0k011 /user:sambadomain\Log 
03.
::Drucker Installation für den Raum R_0524 
04.
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 
05.
 
06.
goto end 
07.
:: Die Ausgabe schreibt eine Logdatei / in die vorhandene Log-Datei für den  
08.
:: jeweiligen Client mit einem angeschlossenen Drucker 
09.
	:ausgabe 
10.
	echo.[%date%]-[%time%]:Printerinstallation on host %COMPUTERNAME% was successful >> z:\%COMPUTERNAME%.txt && goto end 
11.
	 
12.
:: Ende des Scripts 
13.
		:end 
14.
if exist z:\. net use Z: /d /y
Gruß
Bitte warten ..
Mitglied: 72417
30.09.2010 um 12:26 Uhr
Danke vielmals, hast mir ja sehr viel geholfen beidem Script. Habe es etwas abändern müssen, da ich mit dem Netzlaufwerk nicht so richtig klar kam (lag wohl daran da ich schon eine Share auf den Clients von diesem Server eingebunden habe ;) )

Hier nun noch einmal das komplette Script (PWs editiert)
vielleicht braucht es ja irgendwer mal

01.
@echo off 
02.
:: Logshare mappen 
03.
net use \\opsi\logshare PASSWORT /user:sambadomain\USER 
04.
:: Hier wird die IP ausgelesen und in die Variable "IP" abgespeichert 
05.
::for /F "tokens=2,3,4,5 delims=:. " %%a in ('ipconfig^|find /I "IP"') do set IP=%%a.%%b.%%c.%%d 
06.
::da es wohl es nur um das letzte Oktet geht, ansonsten das Commando aus Zeile 5 
07.
for /F "tokens=5 delims=:. " %%a in ('ipconfig^|find /I "IP"') do set IP=%%a 
08.
 
09.
:: Nun beginnt er seine Abfrage und testet die Variable ob die eigene IP bei den Gesuchten dabei ist 
10.
::Drucker Installation für den Raum R_Test 
11.
if "%IP%"=="28" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_test" /f %windir%\druckertreiber\oki\C5450n\Ok72s2lu.inf /r "usb001" /m "OKI C5450n(PCL)" && goto ausgabe 
12.
goto end 
13.
::Drucker Installation für den Raum R_0524 
14.
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 
15.
 
16.
::Drucker Installation für den Raum R_0532 
17.
if "%IP%"=="42" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R0532" /f %windir%\druckertreiber\brother\7030\brpr7030.inf /r "usb001" /m "Brother DCP-7030 Printer" && goto ausgabe 
18.
 
19.
::Drucker Installation für den Raum R_0542 
20.
if "%IP%"=="53" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R0542" /f %windir%\druckertreiber\brother\7030\brpr7030.inf /r "usb001" /m "Brother DCP-7030 Printer" && goto ausgabe 
21.
 
22.
::Drucker Installation für den Raum R_1534 
23.
if "%IP%"=="66" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R1534" /f %windir%\druckertreiber\brother\1450\OEMHL01A.INF /r "usb001" /m "Brother HL-1450 series" && goto ausgabe 
24.
 
25.
::Drucker Installation für den Raum R_1544 
26.
if "%IP%"=="73" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R1544" /f %windir%\druckertreiber\brother\1450\OEMHL01A.INF /r "usb001" /m "Brother HL-1450 series" && goto ausgabe 
27.
 
28.
::Drucker Installation für den Raum R_1550 
29.
if "%IP%"=="82" rundll32 printui.dll,PrintUIEntry /if /Z /b "Drucker_R1550" /f %windir%\druckertreiber\oki\B4350\B43503e.inf /r "usb001" /m "OKI B4350(PCL)" && goto ausgabe 
30.
 
31.
::Beendung der Schleife mit einem Log für den jeweiligen Client 
32.
echo.An diesem Computer ist kein Drucker angeschlossen >> \\opsi\logshare\%date%_%COMPUTERNAME%_log.txt 
33.
	 
34.
:: Die Ausgabe schreibt eine Logdatei / in die vorhandene Log-Datei für den  
35.
:: jeweiligen Client mit einem angeschlossenen Drucker 
36.
	:ausgabe 
37.
	echo.[%date%]-[%time%]:Printerinstallation on host %COMPUTERNAME% was successful >> \\opsi\logshare\Drucker_Log.txt && goto end 
38.
	 
39.
:: Ende des Scripts 
40.
	:end 
41.
 
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...