Beste Tweakers,
Ik ondervind het volgende: Op de client gemapte printers wordt de printernaam inclusief de servernaam vernoemd in de volgoorde "Kleuren A3 CP5520dn op servernaam.domein" terwijl ik eigenlijk enkel "Kleuren A3 CP5520dn" wil zien.
Situatie:
Printers worden aangemaakt bij aanmelden op een computer binnen het domein dmv. een loginscript(onderin vermeld). Dit script verwijderd eerst alle netwerkprinters en maakt deze opnieuw aan en stelt de standaard printer in op basis van computernummer om zo automatisch de dichtbijzijnste printer te kunnen gebruiken zonder extra handelingen.
De reden dat de printers eerst worden verwijderd is omdat er de laatste tijd nogal veel veranderingen zijn geweest en ik me hierdoor geen zorgen hoef te maken om printers die nog wel op de computer staan maar niet meer aanwezig zijn.
Google:
En natuurlijk heb ik Google afgezocht om hiervoor een oplossing te vinden. Ik lees heel veel dat dit gewoon zo werkt maar soms lees ik dan ook weer dat het mogelijk is om dit te doen via het register om vervolgens niet meer informatie te vinden. Verder lees ik ook dat het hernoemen van een printernaam de printer kapot zou maken omdat dan de verwijzing(poort) niet meer klopt.
Na drie dagen zoeken ben ik nog niet tot een goede oplossing gekomen.
Kan iemand mij uit mijn droom helpen of me vertellen hoe ik dit het beste kan doen?
Script:
Ik ondervind het volgende: Op de client gemapte printers wordt de printernaam inclusief de servernaam vernoemd in de volgoorde "Kleuren A3 CP5520dn op servernaam.domein" terwijl ik eigenlijk enkel "Kleuren A3 CP5520dn" wil zien.
Situatie:
Printers worden aangemaakt bij aanmelden op een computer binnen het domein dmv. een loginscript(onderin vermeld). Dit script verwijderd eerst alle netwerkprinters en maakt deze opnieuw aan en stelt de standaard printer in op basis van computernummer om zo automatisch de dichtbijzijnste printer te kunnen gebruiken zonder extra handelingen.
De reden dat de printers eerst worden verwijderd is omdat er de laatste tijd nogal veel veranderingen zijn geweest en ik me hierdoor geen zorgen hoef te maken om printers die nog wel op de computer staan maar niet meer aanwezig zijn.
Google:
En natuurlijk heb ik Google afgezocht om hiervoor een oplossing te vinden. Ik lees heel veel dat dit gewoon zo werkt maar soms lees ik dan ook weer dat het mogelijk is om dit te doen via het register om vervolgens niet meer informatie te vinden. Verder lees ik ook dat het hernoemen van een printernaam de printer kapot zou maken omdat dan de verwijzing(poort) niet meer klopt.
Na drie dagen zoeken ben ik nog niet tot een goede oplossing gekomen.
Kan iemand mij uit mijn droom helpen of me vertellen hoe ik dit het beste kan doen?
Script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
| Dim strComputer,strIPAddress,strIPRange, Dafaultprinterbalie
Dim objNetwork, shell
Dim IPConfigSet, IPConfig
Dim arrIPAddress
Dim multiPrinter, UNCpath1, UNCpath2, oPrinters, strPrinter, boolMapped, i
Dim arrPrinters(11)
Dim x
Dim strComputer = "."
arrPrinters(0) = "\\server.domein.loc\ZwartWit_A4_Administratie"
arrPrinters(1) = "\\server.domein.loc\ZwartWit_A4_Balie"
arrPrinters(2) = "\\server.domein.loc\ZwartWit_A4_Export"
arrPrinters(3) = "\\server.domein.loc\ZwartWit_A4_Logistiek"
arrPrinters(4) = "\\server.domein.loc\ZwartWit_A4_Showroom"
arrPrinters(5) = "\\server.domein.loc\ZwartWit_A4_Styling"
arrPrinters(6) = "\\server.domein.loc\Kleuren_A3_Logistiek"
arrPrinters(7) = "\\server.domein.loc\Kleuren_A3_Styling"
arrPrinters(8) = "\\server.domein.loc\Kleuren_A4_Theo"
arrPrinters(9) = "\\server.domein.loc\DYMO_LabelWriter_Balie"
arrPrinters(10) = "\\server.domein.loc\Kleuren_A3_CP5520dn"
arrPrinters(11) = "\\server.domein.loc\DYMO_LabelWriter"
Set multiPrinter = CreateObject("WScript.Network")
Set WSHShell = CreateObject("WScript.Shell")
Set oPrinters = multiPrinter.EnumPrinterConnections
For x = 0 To oPrinters.Count - 1 Step 2
If Left(oPrinters.Item(x+1),2) = "\\" Then multiPrinter.RemovePrinterConnection oPrinters.Item(x+1),True,True
On Error resume NEXT
Next
For Each strPrinter In arrPrinters
boolMapped = False
For i = 0 to oPrinters.Count - 1 Step 2
If UCase(oPrinters.Item(i+1)) = UCase(strPrinter) Then
boolMapped = True
Exit For
End If
Next
If boolMapped = False Then
multiPrinter.AddWindowsPrinterConnection strPrinter
End If
'ON Error resume NEXT
Next
Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" _
& strComputer & "/root/cimv2").ExecQuery("select IPAddress from " _
& "Win32_NetworkAdapterConfiguration where IPEnabled=True")
Set objNetwork = multiPrinter
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
arrIPAddress = split(IPConfig.IPAddress(0) ,".")
select case arrIPAddress(3)
'Balie printer
case "17","22","27","30"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Balie"
'Styling printer
Case "4","9","12","18", "23"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Styling"
'Export printer
Case "26","21", "28"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Export"
'Logistiek printer
Case "3","6","2","16","32"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Logistiek"
'Directie printer
Case "7"
objNetwork.SetDefaultPrinter "\\server.domein.loc\Kleuren_A4_Theo"
'Administratie printer
Case "5","19","25"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Administratie"
'Showroom printer
Case "14","15", "31"
objNetwork.SetDefaultPrinter "\\server.domein.loc\ZwartWit_A4_Showroom"
end select
end if
next
Path = "HKCU\Printers\Settings\EnableBalloonNotificationsRemote"
WshShell.RegWrite Path, 0 ,"REG_DWORD"
set objNetwork = nothing
set IPConfigSet = nothing
wscript.quit |