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 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:
objWshShellApp.NameSpace(strMyDriveLetter).Self.Name = strMyName
Dies klappt auch sehr gut.
Nun möchte ich dies auch für die Netzwerkdrucker umsetzen:
objWshShellApp.NameSpace(strUNCPrinter).Self.Name = strPrinterName
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171762
Url: https://administrator.de/contentid/171762
Ausgedruckt am: 15.11.2024 um 21:11 Uhr
6 Kommentare
Neuester Kommentar
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
Dim d
Dim N, colItems, objItem
Set d = CreateObject("Shell.Application")
' Namespace 4: Drucker und Faxgeräte
Set N = d.NameSpace(4)
'Alle Objekte auflisten (genau wie im Explorer :D), sprich auch Drucker hinzufügen ist dabei
Set colItems = N.Items
For Each objItem in colItems
'Einfach alle anzeigen
WSH.Echo objItem.Name
'-- Beispiel, Drucker mit dem Namen
If objItem.Name = "MFC-7440N auf mein-netzwerk-printserver" Then
'-- wird umbenannt
objItem.Name = "MFC"
End If
Next
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!