Top-Themen

Aktuelle Themen (A bis Z)

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

Drucker und Benutzer

Mitglied: Larz

Larz (Level 2) - Jetzt verbinden

12.10.2009, aktualisiert 21:23 Uhr, 9887 Aufrufe, 1 Kommentar

Ein Netzwerkdrucker wird getauscht - wie finde ich heraus wer ihn alles verbunden hat?

Hallo zusammen,

in größeren Organisationen ist es üblich, dass es zwar Abteilungsdrucker gibt, der eine oder andere Benutzer aber auch gerne mal hier oder da druckt, vielleicht auch lieber auf dem Drucker im 1. OG weil der Farbe kann oder besser/schneller ist usw.. Mit anderen Worten - werden eines oder mehrere Großgeräte getauscht, ist es nicht immer ganz leicht herauszufinden, wer alles den Drucker benutzt, das wollen wir ja aber. Schließlich muss der neue Drucker auch wieder eingerichtet werden, denn auch wenn der Standarddrucker oftmals per Script verbunden wird, so ist das bei Userseitig eingebundenen Druckern normalerweise nicht der Fall.

Mittels der nachfolgenden Batch-Datei (die von jedem Benutzer über das Logon-Script aufgerufen werden muss) kann dies relativ einfach herausgefunden werden.

Vom Prinzip her arbeitet das Script so:
1. Registry-Export der Drucker des angemeldeten Users erzeugen

Das sieht dann in etwa so aus:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Printers\Connections\
Printservername,,Druckername1
Printservername,,Druckername2
Printservername1,,Druckername1

Recht unschön. Ausserdem interessieren und nicht alle Drucker also gehts weiter mit Punkt 2

2. Zu suchende Drucker im Export ausfindig machen und bei Erfolg in eine "saubere" Datei schreiben
Das wird eine einfache Auflistung aller gesuchten und gefundenen Drucker, sieht dann in etwa so aus:

Druckername1
Druckername2

usw.

3. Textdatei erstellen für jeden gesuchten und gefundenen Drucker und Eintragung des Benutzernamens. Bei bestehender Datei nur Eintragung des Benutzernamens.
Um nun eine Übersicht zu erhalten, welche User welchen der gesuchten Drucker verbunden hat, wird pro Drucker eine Datei angelegt und der Benutzer hineingeschrieben.
Die Datei heißt also z.B. Drucker1.csv und hat den Inhalt

Benutzername1
Benutzername4
Benutzername5


Nun haben wir also eine Übersicht nach Drucker und können die Benutzer per Mail anschreiben oder was auch immer...

Hier nun der Quelltext für die Batch (funktioniert nur in Domänennetzwerken mit verbundenen Druckern):


Zunächst werden Variablen deklariert. Wichtig ist hierbei dass als Ausgabepfad ein Verzeichnis verwendet wird, in dem alle Benutzer Schreibrechte haben.
01.
REM Variablen für Programm deklarieren 
02.
set Ausgabeverzeichnis=\\Domaenenname\Server\Gemeinsame_Freigabe 
03.
set Ausgabeformat=csv
Wurde das Script schon einmal ausgeführt, aber abgebrochen, so werden die temporär benötigten Dateien hiermit gelöscht, um Doppeleinträge zu vermeiden.
Danach wird der Registry-Export erzeugt:
01.
REM Alte Text-Dateien werden falls vorhanden geloescht, neuer Registry-Export erzeugt 
02.
if exist %temp%\regdump_installed_printers.txt del %temp%\regdump_installed_printers.txt 
03.
if exist %temp%\total_installed_printers.txt del %temp%\total_installed_printers.txt 
04.
reg query HKEY_CURRENT_USER\Printers\Connections\ > %temp%\regdump_installed_printers.txt

Hier werden nun nacheinander die gewünschten Drucker im Registry-Export gesucht und bei Auffinden wird der Benutzername über die temporäre Textdatei total_installed_printers.txt in die endgültige Datei (z.B. Drucker1.csv) geschrieben
01.
REM Durchsuchung des Registry-Exports nach den gewünschten Druckern 
02.
:Find_Drucker1 
03.
@echo --- Suche ersten Drucker --- 
04.
findstr "%USERNAME%" %Ausgabeverzeichnis%\Drucker1.%Ausgabeformat% >nul && goto :Find_Drucker2 
05.
findstr "Drucker1" %temp%\regdump_installed_printers.txt>nul && @echo MFPC-102a >> %temp%\total_installed_printers.txt && @echo %USERNAME% >> %Ausgabeverzeichnis%\Drucker1.%Ausgabeformat% 
06.
@echo ---------------------------- 
07.
 
08.
:Find_Drucker2 
09.
@echo --- Suche zweiten Drucker --- 
10.
findstr "%USERNAME%" %Ausgabeverzeichnis%\Drucker2.%Ausgabeformat% >nul && goto :Find_Drucker3 
11.
findstr "Drucker2" %temp%\regdump_installed_printers.txt>nul && @echo Drucker2 >> %temp%\total_installed_printers.txt && @echo %USERNAME% >> %Ausgabeverzeichnis%\Drucker2.%Ausgabeformat% 
12.
@echo ----------------------------- 
13.
 
14.
:Find_Drucker3 
15.
@echo --- Suche dritten Drucker --- 
16.
findstr "%USERNAME%" %Ausgabeverzeichnis%\Drucker3.%Ausgabeformat% >nul && goto :Find_Drucker4 
17.
findstr "Drucker3" %temp%\regdump_installed_printers.txt>nul && @echo Drucker3 >> %temp%\total_installed_printers.txt && @echo %USERNAME% >> %Ausgabeverzeichnis%\Drucker3.%Ausgabeformat% 
18.
@echo ----------------------------- 
19.
 
20.
:Find_Drucker4 
21.
@echo --- Suche vierten Drucker --- 
22.
findstr "%USERNAME%" %Ausgabeverzeichnis%\Drucker4%Ausgabeformat% >nul && goto :eof 
23.
findstr "Drucker4" %temp%\regdump_installed_printers.txt>nul && @echo Drucker4 >> %temp%\total_installed_printers.txt && @echo %USERNAME% >> %Ausgabeverzeichnis%Drucker4.%Ausgabeformat% 
24.
@echo -----------------------------

Danach noch ein goto :Ende um nicht in einer Endlosschleife hängen zu bleiben:
01.
goto :Ende

Und wie es sich gehört, räumen wir danach auf...
01.
:Ende 
02.
REM Loeschen der nicht mehr benoetigten, temporaeren Dateien 
03.
del %TEMP%\total_installed_printers.txt 
04.
del %TEMP%\regdump_installed_printers.txt



Ich hoffe die Anleitung ist soweit verständlich, dass man das Script nachbauen kann.
Würde mich freuen, wenn es dem einen oder anderen hilft...

Viele Grüße
Larz
Mitglied: Dani
24.10.2009 um 00:36 Uhr
Hi Larz,
warum immer so kompliziert?! Einfach über Batch ein Kix-Script aufrufen...da Lässt sich das Ganze mit 7 Zeilen realsieren:
01.
If DelPrinterConnection ("ALTER DRUCKERNAME") = 0 
02.
  ? "Deleted printer connection...." 
03.
Endif 
04.
 
05.
If ADDPRINTERCONNECTION ("\\server\druckerfreigabe") = 0 
06.
  ? "Added printer connection...." 
07.
Endif
Die entsprechenden Namen müssen eben noch ersetzt werden und das Script mit der Endung ".kix" gespeichert werden. Auf dem Netlogon das Kix entpacken und im Loginscript wie folgt aufrufen:
01.
.... 
02.
"\\%logonserver%\netlogon\kix\kix.exe" "\\%logonserver%\netlogon\transfer_printer.kix" 
03.
...
Fertig ist der Druckertausch... Funktioniert unter Windows 2000, XP, Vista und 7. Vorallem du musst nicht in der Registry rumbasteln.


Grüße,
Dani
Bitte warten ..
Ähnliche Inhalte
Windows Server

Teamviewer-IDs von angemeldeten Benutzern auslesen

Tipp von BirdyBWindows Server10 Kommentare

Auch wenn es im Allgemeinen verpönt ist, nutzen wir derzeit noch den Teamviewer für den Remotesupport. Unter Anderem läuft ...

Viren und Trojaner

Ransomware "Ordinypt" hat es auf Benutzer aus Deutschland abgesehen

Information von MrCountViren und Trojaner6 Kommentare

Ordinypt hat es auf Benutzer aus Deutschland abgesehen Die Ransomware "Ordinypt" (auch bekannt unter dem wenig handlichen Namen „HSDFSDCrypt“) ...

Windows 8

HP-Drucker meldet sich unerwartet offline

Anleitung von InternetterWindows 85 Kommentare

Ist es euch auch schon passiert? Ihr habt euren Netzwerk-Drucker eingeschaltet und wollt drucken und dann meldet sich der ...

Netzwerke

IPsec VPN für mobile Benutzer auf der pfSense Firewall einrichten

Anleitung von aquiNetzwerke17 Kommentare

Allgemeine Einleitung Das folgende Tutorial ist eng angelehnt an das hiesige Standort_VPN_Praxis_Tutorial bei Administrator.de und ergänzt dieses um die ...

Neue Wissensbeiträge
Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 1 TagMultimedia & Zubehör

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlögt Fehl -Lösung 2008-2016

Tipp von BiGnoob vor 1 TagWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden fehler: lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 1 TagHumor (lol)4 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Batch & Shell

Windows 10 Heimnetzgruppe abgeschaft. Ein Script für einfache Netzwerk - Freigabe im Heimnetzwerk

Anleitung von treehe vor 1 TagBatch & Shell3 Kommentare

Anleitung für eine einfache Netzwerkfreigabe unter Windows 10 Wie weiter hab mal ein kleines CMD - Script gebastelt. Womit ...

Heiß diskutierte Inhalte
Windows Tools
Virtueller Drucker gesucht (Schnittstelle: USB oder Seriell)
gelöst Frage von chrisButterflyWindows Tools21 Kommentare

Hi, ich suche einen virtuellen Drucker, den ich über eine USB oder serieller Schnittstelle ansprechen kann. Dieser Drucker soll ...

Windows Server
Windows Server 2012 - Update - Beim Booten bleibt der Server beim Windows Zeichen stehen
Frage von KeilbachWindows Server17 Kommentare

Hallo Zusammen, ich grüße euch, mein Name ist Michele. Ich bin hier ganz Neu - da ich einfach nicht ...

Windows Server
WinServer2016 AD DS
Frage von MaxHannoverWindows Server5 Kommentare

Hallo zusammen, ich habe eine Domäne, in dieser befinden sich mehrere Organisationseinheiten, die Struktur der OU steht also. Nun ...

Voice over IP
Lokales Telefonbuch von Grandstream GXP-2000 herunterladen
Frage von darodeskVoice over IP5 Kommentare

Hallo zusammen, ein Kunde besitzt ein altes Grandstream GXP-2000 Voip-Telefon, was jetzt durch ein neueres Gerät ersetzt wurde. Er ...