Netzwerkdrucker über Web entfernen und hinzufügen

raumgleita

Cadet 4th Year
Dabei seit
Feb. 2008
Beiträge
119
Hallo Freaks!

Mein Problem:
Ich würde gerne eine Webapplikation schreiben mit der man auswählen kann, welche Netzwerkdrucker (also "printer queues") man entfernen und welche man hinzufügen möchte. Also wäre es praktisch wenn man die installierten Drucker erst auslesen könnte und man dann auswählen kann welche man hinzufügen und welche man entfernen möchte.

Lösungsansätze
Nun brauche ich etwas Starthilfe damit ich weiss nach was ich suchen muss. Wie kann man so etwas clientseitiges lösen? Evtl. mit ActiveX? Als unschöne Lösung sehe ich ein VB Script welches nach den Anforderungen des Users von der Webapplikation generiert und dann per "Download Popup" ausgeführt werden kann.

Hat jemand schlaue Ideen dazu?

(Im 2004 hatte jemand das gleiche Problem doch habe ich keine Lösung gefunden.
Vielen Dank im vorraus!

gruss
raumgleita
 
Zuletzt bearbeitet:

Backslash

Captain
Dabei seit
Okt. 2006
Beiträge
3.240
Mir würde da nur 2 Vorgehensweisen einfallen:
1. (etwas unschön, aber leichter zu realisieren imo)
Eine Seite wird von einem auf dem Rechner mit den Druckern laufenden Programm generiert, die wiederum über eine Webapplikation (zB PHP) die Information über änderungen entgegennimmt.
2.
Oder du schreibst das ganze selbst, also einen HTTP-Server, der das alles regelt, was aber einen erheblichen Aufwand bedeuten würde.

mfg
 

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
Ich weiss nicht, ob man darauf vielleicht per Silverlight zugreifen kann?
Und von da aus könntest du möglicherweise per WMI darauf zugreifen?

Gruß David
 

raumgleita

Cadet 4th Year
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
119
Erst einmal vielen Dank für eure Antworten.

@Backslash
1. Ein mini Programm und welches die Infos über die Drucker von einer zentralen Datebank abfragt. Das wäre warscheinlich in VB, C# oder Java machbar.
2. Was meinst du mit HTTP Server? Und was soll der regeln?

@davidbaumann
Kenne mich mit Silverlight nicht so aus aber das man Geräte ansprechen kann, habe ich auch gelesen. Doch müsste auf den Clients Silverlight installliert sein und das ist es nicht und die Installationen auf allen Clients ist nicht durchführbar. Habe mich etwas über WMI informiert doch nur wenig konkretes gefunden.

Generell denke ich, wenn Systeminformation so einfach ohne Bestätigung oder Client ausgelesen oder sogar manipuliert werden könnten, wäre die Web Sicherheit ein riesen Manko...
Immerhin würde meine Web Applikation im Intranet laufen aber Clients die nicht standardmässig bei Win XP dabei sind, können nicht nachträglich installiert werden...
 

Backslash

Captain
Dabei seit
Okt. 2006
Beiträge
3.240
Ich dachte das soll über den Browser geschehen, also wäre ja auf jeden Fall ein HTTP-Server nötig.
Der zweite Ansatz ist so gedacht, dass der Server so funktioniert, dass er auf die Anfrage hin direkt die Einstellung ändert, also Server und das mini-Programm in einem.

Im ersten Ansatz sind diese beiden Teile getrennt, man könnte sowas natürlich auch direkt zB mit einem Apache-HTTP-Server verbinden, ähnlich PHP, dann würde man sich zumindest den Aufwans sparen erst einen HTTP-Server zu programmieren.

Und wenn nur standard-XP-Clients möglich sind wäre meine erste Wahl schon der IE.
 

raumgleita

Cadet 4th Year
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
119
Natürlich wäre es toll wenn alles über den Browser geschieht.

Der zweite Ansatz ist so gedacht, dass der Server so funktioniert, dass er auf die Anfrage hin direkt die Einstellung ändert, also Server und das mini-Programm in einem.
Aber WIE??? Welche Sprache erlaubt das ändern von Einstellungen auf Clients per remote?

Im ersten Ansatz sind diese beiden Teile getrennt, man könnte sowas natürlich auch direkt zB mit einem Apache-HTTP-Server verbinden, ähnlich PHP, dann würde man sich zumindest den Aufwans sparen erst einen HTTP-Server zu programmieren.
Daraus werd ich nicht schlau.. Aber zum "HTTP-Server programmieren": Das Intranet steht, also steht auch ein Webserver zur Verfügung. Und wenn nicht gibt es Packete wie XAMPP mit welchem man in 3 Klicks ein Webserver hat.

Und wenn nur standard-XP-Clients möglich sind wäre meine erste Wahl schon der IE.
Wenn die Applikation nicht gerade mit ActiveX läuft, sehe ich keine Abhängigkeit zum eingesetzten Browser....
 

raumgleita

Cadet 4th Year
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
119
Ich habe eine simple Idee. Zum Drucker hinzufügen kann ich ja einfach in einer Schleife alle gewünschten Drucker verlinken. Mit einem Link wie "\\[druckerserver]\[druckername]" lassen sie die Drucker mappen. Evtl. gibt es Parameter zum disconnecten oder zum einen Drucker als Standard zu definieren?
 

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
Folgendes wäre wohl ganz einfach: Du macht eine Web-Applikation, die einfach eine Batch-Datei bearbeitet.
Diese wird dann beim Start des PCs ausgeführt, löscht zuerst alle Netzwerk-Drucker und fügt dann die gewünschten hinzu!
Und für die, die die Änderungen gleich übernehmen wollen, machst du halt eine Verknüpfung auf den Desktop, die das entsprechende Script direkt ausführt.
Die Installation, eben dass die Verknüpfung auf dem Desktop ist usw, kannst du dann ja auch per Script machen.

Gruß David
 

raumgleita

Cadet 4th Year
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
119
@davidbaumann

Und wie kommt die Batch Datei in den Autostart? Ich kann ja nicht zu jedem Client gehen und sie per USB draufladen.
Wenn schon mit php die Batch oder VB Datei generieren und dann per Download anbieten. Die Datei muss dann nicht gespeichert werden sondern kann direkt im Download Popup ausgeführt werden.
 

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
Ja dann machst du halt ein Installations-Script.
Das, was beim Start ausgeführt wird, liegt irgendwo auf einem Netzerk-Share.

Erkläre uns mal: Du hast ein Netzwerk, 10 Netzwerkdrucker, 100 Clients, und 1 Server?
Dann kannst du die Drucker in einer Datenbank ablegen, dann dort speichern, welche Drucker der Benutzer ausgewählt hat, und daraus ein scipt generieren!
Das Installationsscript legt dann eine Verknüpfung an im Sinne von \\Server\Share\Script_%USERNAME%.bat an.
Bei jeder Änderung der aktivierten Drucker erstellst du dann das Scipt unter \\Server\Share\Script_%USERNAME%.bat neu. Dieses wird dann entweder per Autostart oder Desktop-Verknüpfung ausgeführt.
Logischerweise kannst du dann auch eine .bat-Datei als Download anbieten, welche den gleichen Befehl auswührt, wie du willst.
 
Top