gelöst Per VBScript den Druckernamen eines Netzwerkdruckers ändern
Hallo,
Ich hoffe, meine Frage gehört hier hin, da es sich eigentlich um eine Frage zu VBScript handelt.
Ich schreibe gerade an einem Logon-Script in VBS. Dort werden unter anderem Drucker und Laufwerke zugewiesen.
Ich möchte nun auch den Netzlaufwerken und den Netzwerkdruckern einen Namen zuweisen. Bei den Laufwerken mache ich das so:
Dies klappt auch sehr gut.
Nun möchte ich dies auch für die Netzwerkdrucker umsetzen:
klappt aber so nicht. (strUNCPrinter sieht etwa so aus: "\\SERVER\DRUCKERFREIGABENAME")
Geht das überhaupt so einfach?
Spreche ich den Drucker überhaupt richtig an?
Gruß
Olaf
Ich möchte nun auch den Netzlaufwerken und den Netzwerkdruckern einen Namen zuweisen. Bei den Laufwerken mache ich das so:
objWshShellApp.NameSpace(strMyDriveLetter).Self.Name = strMyName
Nun möchte ich dies auch für die Netzwerkdrucker umsetzen:
objWshShellApp.NameSpace(strUNCPrinter).Self.Name = strPrinterName
Geht das überhaupt so einfach?
Spreche ich den Drucker überhaupt richtig an?
Gruß
Olaf
6 Antworten
- LÖSUNG dog schreibt am 19.08.2011 um 20:59:40 Uhr
- LÖSUNG MonoTone schreibt am 22.08.2011 um 16:02:28 Uhr
- LÖSUNG dog schreibt am 22.08.2011 um 16:52:53 Uhr
- LÖSUNG MonoTone schreibt am 22.08.2011 um 16:02:28 Uhr
- LÖSUNG MonoTone schreibt am 22.08.2011 um 11:33:09 Uhr
- LÖSUNG okoester schreibt am 22.08.2011 um 12:14:50 Uhr
- LÖSUNG okoester schreibt am 06.09.2011 um 10:38:38 Uhr
- LÖSUNG okoester schreibt am 22.08.2011 um 12:14:50 Uhr
LÖSUNG 19.08.2011 um 20:59 Uhr
Spreche ich den Drucker überhaupt richtig an?
Nö
Geht das überhaupt so einfach?
Hast du es schonmal im Explorer geschafft einen Netzwerkdrucker umzubenennen?
Anders gesagt: Nein, geht nicht. Ist nur über einen doofen Umweg möglich.
LÖSUNG 22.08.2011 um 11:33 Uhr
Also,
die Frage ist, was möchtest du genau ändern.
Ich gehe mal davon aus, das du nicht den Druckernamen an sich ändern willst, sondern den Anzeigenamen des Druckers am Client.
Und das geht sehr wohl (auch über den Explorer) über die Shell
Hier ein kleines Beispiel, welches du natürlich für deine Zwecke anpassen musst
die Frage ist, was möchtest du genau ändern.
Ich gehe mal davon aus, das du nicht den Druckernamen an sich ändern willst, sondern den Anzeigenamen des Druckers am Client.
Und das geht sehr wohl (auch über den Explorer) über die Shell
Hier ein kleines Beispiel, welches du natürlich für deine Zwecke anpassen musst
01.
Dim d
02.
Dim N, colItems, objItem
03.
Set d = CreateObject("Shell.Application")
04.
' Namespace 4: Drucker und Faxgeräte
05.
Set N = d.NameSpace(4)
06.
'Alle Objekte auflisten (genau wie im Explorer :D), sprich auch Drucker hinzufügen ist dabei
07.
Set colItems = N.Items
08.
For Each objItem in colItems
09.
'Einfach alle anzeigen
10.
WSH.Echo objItem.Name
11.
'-- Beispiel, Drucker mit dem Namen
12.
If objItem.Name = "MFC-7440N auf mein-netzwerk-printserver" Then
13.
'-- wird umbenannt
14.
objItem.Name = "MFC"
15.
End If
16.
Next
LÖSUNG 22.08.2011 um 12:14 Uhr
Hallo MonoTone,
das klingt schon mal sehr gut. Ich möchte natürlich den Anzeigenamen ändern. Das war etwas schwammig ausgedrückt.
Aber nach so einer Lösung suchte ich. Nur war mein Ansatz wohl falsch
Ich denke, aus Deiner Lösung kann ich extrahieren, was ich brauche.
Danke!
das klingt schon mal sehr gut. Ich möchte natürlich den Anzeigenamen ändern. Das war etwas schwammig ausgedrückt.
Aber nach so einer Lösung suchte ich. Nur war mein Ansatz wohl falsch
Ich denke, aus Deiner Lösung kann ich extrahieren, was ich brauche.
Danke!
LÖSUNG 22.08.2011 um 16:02 Uhr
Solche Antworten sind natürlich extrem hilfreich.
Haltung..arrogant
Hinweise...Null
Nutzfaktor..Null
Zusammengefassung deiner Antwort..
Du machst es falsch, es geht irgendwie total doof und anders.
Offensichtlich sammelst du einfach nur Beiträge..
Haltung..arrogant
Hinweise...Null
Nutzfaktor..Null
Zusammengefassung deiner Antwort..
Du machst es falsch, es geht irgendwie total doof und anders.
Offensichtlich sammelst du einfach nur Beiträge..
LÖSUNG 22.08.2011 um 16:52 Uhr
Vielleicht solltest du dich erstmal ein bisschen hier umschauen, bevor du andere User anpöbelst, die schon wesentlich länger dabei sind.
Oh und vielleicht hättest du deinen Code auch mal testen sollten.
Dann hättest du nämlich gemerkt, dass man keine Netzwerkdrucker unter Windows umbenennen kann!
Vielleicht kennst du aber einfach nicht den Unterschied zwischen einem Netzwerkdrucker und einem Lokalen Drucker mit Netzwerkport?
Ich habe mich lange genug mit dem Thema beschäftigt und meine Antwort hat die Frage eindeutig beantwortet.
Sei doch so nett und erspare uns demnächst solche überflüssigen Kommentare!
Oh und vielleicht hättest du deinen Code auch mal testen sollten.
Dann hättest du nämlich gemerkt, dass man keine Netzwerkdrucker unter Windows umbenennen kann!
Vielleicht kennst du aber einfach nicht den Unterschied zwischen einem Netzwerkdrucker und einem Lokalen Drucker mit Netzwerkport?
Ich habe mich lange genug mit dem Thema beschäftigt und meine Antwort hat die Frage eindeutig beantwortet.
Sei doch so nett und erspare uns demnächst solche überflüssigen Kommentare!
LÖSUNG 06.09.2011 um 10:38 Uhr
Hallo MonoTone,
die Idee war gut. Ich habe sie auch soweit umsetzen können, dass sie für meine Zwecke fast funktioniert. Fast deswegen, weil leider die Änderung des Namens selbst nicht zulässig ist.
geht leider nicht. "Operation für dieses Objekt nicht zulässig" (oder so ähnlich)...
Trotzdem Danke. Wissen, dass etwas nicht geht, ist ja auch was...
Mfg Olaf
die Idee war gut. Ich habe sie auch soweit umsetzen können, dass sie für meine Zwecke fast funktioniert. Fast deswegen, weil leider die Änderung des Namens selbst nicht zulässig ist.
01.
objItem.Name = "MFC"
Trotzdem Danke. Wissen, dass etwas nicht geht, ist ja auch was...
Mfg Olaf
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte