Drucker über Subnetz mit VBS Script verbinden
Guten Tag! Ich hoffe ich hab für das Thema das richtige Unterforum ausgewählt.
Für Antworten bedanke ich mich schonmal im vorraus!
Ich brauch ein Script das anhand eines Subnetz bestimmte Drucker verbindet.
Mit dem Script von unten verbindet er zwar die Drucker, dabei ist es aber egal was für eine IP man eingibt.
Wir haben mehrere Standorte.
Er sollte sich z.B. anhand des Subnetzes z.B. 192.168.49.XXX bestimmte Drucker verbinden!
Andere Löungen(OU's usw) sind nicht möglich.
on error resume next
Set WshNetwork = CreateObject("WScript.Network")
If WshNetwork.IPConfig.IPAddress = "192.168.49.175" then
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Color LaserJet CP2025 64bit (HV) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Designjet 500 64bit (HV_3R81) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Designjet 500 64bit (HV_4R26) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C352 64bit (HV_3R81) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C352 64bit (HV_EG) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C360 64bit (HV_EG) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\Oce TCS500 Colour 64bit (HV) Print CAD"
end if
Für Antworten bedanke ich mich schonmal im vorraus!
Ich brauch ein Script das anhand eines Subnetz bestimmte Drucker verbindet.
Mit dem Script von unten verbindet er zwar die Drucker, dabei ist es aber egal was für eine IP man eingibt.
Wir haben mehrere Standorte.
Er sollte sich z.B. anhand des Subnetzes z.B. 192.168.49.XXX bestimmte Drucker verbinden!
Andere Löungen(OU's usw) sind nicht möglich.
on error resume next
Set WshNetwork = CreateObject("WScript.Network")
If WshNetwork.IPConfig.IPAddress = "192.168.49.175" then
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Color LaserJet CP2025 64bit (HV) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Designjet 500 64bit (HV_3R81) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\HP Designjet 500 64bit (HV_4R26) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C352 64bit (HV_3R81) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C352 64bit (HV_EG) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\KONICA MINOLTA C360 64bit (HV_EG) Print CAD"
WshNetwork.AddWindowsPrinterConnection "\\cad\Oce TCS500 Colour 64bit (HV) Print CAD"
end if
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169713
Url: https://administrator.de/forum/drucker-ueber-subnetz-mit-vbs-script-verbinden-169713.html
Ausgedruckt am: 20.02.2025 um 01:02 Uhr
8 Kommentare
Neuester Kommentar
Ok, das Skript funktioniert nicht wie erwartet.
Nicht schlimm, kann passieren.
Aber einfach die Fehlerbehandlung abzuschalten, so daß man keine Fehler sieht und dann, weil es nicht so tut wie erwartet, einfach im Forum fragen, was nicht tut, ist etwas ... frech
Nimm die Zeile raus, schau Dir die Fehlermeldung an, denke ein bischen nach, dann gehts möglicherweise weiter.
Nicht schlimm, kann passieren.
Aber einfach die Fehlerbehandlung abzuschalten, so daß man keine Fehler sieht und dann, weil es nicht so tut wie erwartet, einfach im Forum fragen, was nicht tut, ist etwas ... frech
Nimm die Zeile
on error resume next

Hallo Barney123,
das Problem ist, dass Du auf diese Weise die IP-Adresse des Rechners nicht abfragen kannst.
Ein weiteres Problem sehe ich wenn es darum geht, das Subnetz herauszufinden.
Ich habe in meinen Domänen auch so ein Skript, aber ich prüfe die Computernamen. Also es sind 3 Räume, EDV1, EDV2, usw. und die Computer tragen entsprechende Namen, z.B. EDV1-05. Ich lesen den Computernamen mit VB aus
sollte funktionieren und dann teste ich
Das funktioniert bei uns einwandfrei.
Evtl. empfiehlt es sich, die Druckerzuordnung bei der Abmeldung des Benutzers wieder zu löschen.
Markus
das Problem ist, dass Du auf diese Weise die IP-Adresse des Rechners nicht abfragen kannst.
Ein weiteres Problem sehe ich wenn es darum geht, das Subnetz herauszufinden.
Ich habe in meinen Domänen auch so ein Skript, aber ich prüfe die Computernamen. Also es sind 3 Räume, EDV1, EDV2, usw. und die Computer tragen entsprechende Namen, z.B. EDV1-05. Ich lesen den Computernamen mit VB aus
compname = WshNetwork.Computername
If left(compname,4) = "EDV1" Then
...
Evtl. empfiehlt es sich, die Druckerzuordnung bei der Abmeldung des Benutzers wieder zu löschen.
Markus
Das bedeutet, daß IPConfig nicht im Objekt WSHNetwork existiert. Damit kann man es auch nicht abfragen.
Und ganz so einfach ist es eh nicht, weil ein PC mehrere IP-Adressen haben kann.
Hier ein Beispiel, mit dem man über alle Netzwerkkarten-Konfigurationen im Rechner iteriert:
Und ganz so einfach ist es eh nicht, weil ein PC mehrere IP-Adressen haben kann.
Hier ein Beispiel, mit dem man über alle Netzwerkkarten-Konfigurationen im Rechner iteriert:
Set wmiobj = GetObject("winmgmts://localhost/root/cimv2:Win32_NetworkAdapterConfiguration")
ID = 1
For Each ipa In wmiobj.Instances_
t = ipa.IPAddress
If Not IsNull(t) Then
REM Hier eintragen, was man mit der IP Adresse machen will.
End If
Next

Hallo nochmal,
ja klar, wenn's so eindeutig ist, dass Du die Subnetze am dritten Oktett der IP-Adresse unterscheiden kannst, dann brauchst Du ja nur dieses.
Allerdings habe ich jetzt schon eine Weile gesucht, eine einfache Lösung die IP-Adresse auszulesen scheint es nicht zu geben (also was mit wenigen Zeilen).
Viel Glück
Markus
ja klar, wenn's so eindeutig ist, dass Du die Subnetze am dritten Oktett der IP-Adresse unterscheiden kannst, dann brauchst Du ja nur dieses.
Allerdings habe ich jetzt schon eine Weile gesucht, eine einfache Lösung die IP-Adresse auszulesen scheint es nicht zu geben (also was mit wenigen Zeilen).
Viel Glück
Markus