107 lines
3.3 KiB
Batchfile
107 lines
3.3 KiB
Batchfile
@echo off
|
|
:: Prüfe, ob Admin-Rechte vorhanden sind
|
|
NET SESSION >nul 2>&1
|
|
IF %ERRORLEVEL% NEQ 0 (
|
|
echo Starte Skript mit Admin-Rechten ...
|
|
powershell -Command "Start-Process cmd -ArgumentList '/c \"%~f0\"' -Verb RunAs"
|
|
exit
|
|
)
|
|
|
|
:: IP-Adresse eingeben
|
|
set /p PRINTER_IP="Gib die IP-Adresse des Druckers ein: "
|
|
|
|
:: Druckernamen eingeben
|
|
set /p PRINTER_NAME="Gib den Namen des Druckers ein: "
|
|
|
|
:: Standarddrucker-Liste setzen
|
|
set PRINTER_LIST="%PRINTER_NAME%"
|
|
|
|
:default_path
|
|
:: Nutzt automatisch den Pfad der Batch-Datei
|
|
set BASE_PATH=%~dp0
|
|
set DRIVER_PATH=%BASE_PATH%hp-treiber
|
|
set DELETE_DRIVER_PATH=1
|
|
echo Verwende automatisch den Treiberordner: %DRIVER_PATH%
|
|
|
|
:: Pruefe, ob der Treiberordner existiert
|
|
if not exist "%DRIVER_PATH%" (
|
|
echo Treiber nicht gefunden! Lade ihn herunter...
|
|
|
|
:: Treiber von HP herunterladen
|
|
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://www.dropbox.com/scl/fi/6ramq1o0lidso43pumi49/HP-Treiber.zip?rlkey=kizmngce43vrojylkwxe8eoof&st=7bcjoj4j&dl=1', '%BASE_PATH%hp-treiber.zip')"
|
|
|
|
:: Pruefen, ob der Download erfolgreich war
|
|
if not exist "%BASE_PATH%hp-treiber.zip" (
|
|
echo Fehler: Der Treiber konnte nicht heruntergeladen werden!
|
|
pause
|
|
exit /b
|
|
)
|
|
|
|
echo Entpacke den Treiber...
|
|
powershell -Command "Expand-Archive -Path '%BASE_PATH%hp-treiber.zip' -DestinationPath '%BASE_PATH%hp-treiber' -Force"
|
|
|
|
:: Pruefen, ob das Entpacken erfolgreich war
|
|
if not exist "%BASE_PATH%hp-treiber" (
|
|
echo Fehler: Das Entpacken ist fehlgeschlagen!
|
|
pause
|
|
exit /b
|
|
)
|
|
|
|
echo Entferne die ZIP-Datei...
|
|
del "%BASE_PATH%hp-treiber.zip"
|
|
|
|
echo Treiber wurde erfolgreich heruntergeladen und entpackt.
|
|
)
|
|
|
|
GOTO check_path
|
|
|
|
:check_path
|
|
:: Pruefe, ob der Treiberordner existiert
|
|
if not exist "%DRIVER_PATH%" (
|
|
echo Fehler: Der Treiberordner "%DRIVER_PATH%" existiert nicht!
|
|
pause
|
|
exit /b
|
|
)
|
|
|
|
:: Port erstellen
|
|
echo Erstelle TCP/IP-Port...
|
|
cscript "%WINDIR%\System32\Printing_Admin_Scripts\de-DE\prnport.vbs" -a -r %PRINTER_IP% -h %PRINTER_IP% -o raw
|
|
|
|
|
|
:: Druckertreiber installieren (automatische INF-Suche)
|
|
echo Installiere Druckertreiber aus: %DRIVER_PATH% ...
|
|
pnputil /add-driver "%DRIVER_PATH%\hpbuio200le.inf" /install
|
|
|
|
:: Drucker installieren (inklusive der zusaetzlichen Drucker)
|
|
for %%P in (%PRINTER_LIST%) do (
|
|
echo Installiere Drucker: %%P ...
|
|
rundll32 printui.dll,PrintUIEntry /if /b %%P /r "%PRINTER_IP%" /m "HP Universal Printing PCL 6"
|
|
)
|
|
|
|
:: Nach Installation den Registry-Wert für SW-Drucker setzen
|
|
echo Setze Standarddrucker-Einstellungen nach OH5 Standard...
|
|
powershell -ExecutionPolicy Bypass -File "%BASE_PATH%do_default_printersettings_mono.ps1" -PrinterName "%PRINTER_NAME%"
|
|
|
|
|
|
:: Standarddrucker setzen
|
|
set /p SET_DEFAULT="Soll '%PRINTER_NAME%' als Standard gesetzt werden? (J/N): "
|
|
IF /I "%SET_DEFAULT%"=="J" GOTO set_default
|
|
GOTO cleanup
|
|
|
|
:set_default
|
|
rundll32 printui.dll,PrintUIEntry /y /n "%PRINTER_NAME%"
|
|
echo "%PRINTER_NAME%" ist jetzt der Standarddrucker.
|
|
|
|
:cleanup
|
|
:: Treiberordner loeschen, nur wenn der Benutzer "N" gewaehlt hat
|
|
if "%DELETE_DRIVER_PATH%"=="1" (
|
|
if exist "%DRIVER_PATH%" (
|
|
echo Entferne den heruntergeladenen Treiberordner...
|
|
rmdir /s /q "%DRIVER_PATH%"
|
|
echo Treiberordner erfolgreich geloescht.
|
|
)
|
|
)
|
|
|
|
:end
|
|
echo Installation abgeschlossen.
|
|
pause
|