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
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
8 Antworten
- LÖSUNG AndreasHoster schreibt am 14.07.2011 um 12:19:07 Uhr
- LÖSUNG Barney123 schreibt am 14.07.2011 um 12:45:41 Uhr
- LÖSUNG 64748 schreibt am 14.07.2011 um 12:59:04 Uhr
- LÖSUNG Barney123 schreibt am 14.07.2011 um 13:07:17 Uhr
- LÖSUNG 64748 schreibt am 14.07.2011 um 13:27:45 Uhr
- LÖSUNG Barney123 schreibt am 14.07.2011 um 13:07:17 Uhr
- LÖSUNG AndreasHoster schreibt am 14.07.2011 um 13:26:21 Uhr
- LÖSUNG Barney123 schreibt am 15.07.2011 um 08:30:49 Uhr
- LÖSUNG DevTig schreibt am 22.07.2011 um 22:55:31 Uhr
- LÖSUNG Barney123 schreibt am 15.07.2011 um 08:30:49 Uhr
- LÖSUNG 64748 schreibt am 14.07.2011 um 12:59:04 Uhr
- LÖSUNG Barney123 schreibt am 14.07.2011 um 12:45:41 Uhr
LÖSUNG 14.07.2011 um 12:19 Uhr
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
LÖSUNG 14.07.2011 um 12:45 Uhr
LÖSUNG 14.07.2011 um 12:59 Uhr
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
LÖSUNG 14.07.2011 um 13:07 Uhr
Wir haben 8 Standorte die alle verschiedene Subnetze verwenden.
z.b
Standort 1: 192.168.49.XXX
Standort 2: 192.168.50.XXX
usw.
kann man nicht irgendwie die IP Adresse des Clients auslesen, und dann die entsprechenden Drucker verbinden.
Mit dem unten angegebenen bringt er auch keine Fehlermeldung, trotzdem passiert nix.
Das gleiche wenn ich anstatt der IP den Namen eingebe.
Set WshNetwork = CreateObject("WScript.Network")
if WshNetwork.computername = "192.168.49.174" then
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"
WshNetwork.AddWindowsPrinterConnection "\\cad\_HV-1OG-3R23__HP 2025"
end if
z.b
Standort 1: 192.168.49.XXX
Standort 2: 192.168.50.XXX
usw.
kann man nicht irgendwie die IP Adresse des Clients auslesen, und dann die entsprechenden Drucker verbinden.
Mit dem unten angegebenen bringt er auch keine Fehlermeldung, trotzdem passiert nix.
Das gleiche wenn ich anstatt der IP den Namen eingebe.
Set WshNetwork = CreateObject("WScript.Network")
if WshNetwork.computername = "192.168.49.174" then
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"
WshNetwork.AddWindowsPrinterConnection "\\cad\_HV-1OG-3R23__HP 2025"
end if
LÖSUNG 14.07.2011 um 13:26 Uhr
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
LÖSUNG 14.07.2011 um 13:27 Uhr
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
LÖSUNG 15.07.2011 um 08:30 Uhr
LÖSUNG 22.07.2011 um 22:55 Uhr