Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Problem mit Logon Script (Printer Mapping)

Mitglied: repa

repa (Level 1) - Jetzt verbinden

10.09.2007, aktualisiert 10:53 Uhr, 3211 Aufrufe, 2 Kommentare

Hallo,

ich muss ein VBS erstellen, dass Drucker löscht und neu erstellt. habe das wie folgt gemacht.

nun, die Drucker werden gelöscht, jedoch nciht neu erstellt. Hat jemand eine Idee warum ? Die msgBox beim Printermapping erscheint nicht.

Anbei der code:
01.
'On Error Resume Next 
02.
 
03.
Set objSysInfo = CreateObject("ADSystemInfo") 
04.
Set objNetwork = CreateObject("Wscript.Network") 
05.
Set objPrinters = objNetwork.EnumPrinterConnections 
06.
Set objDrives = objNetwork.EnumNetworkDrives 
07.
 
08.
 
09.
strUserPath = "LDAP://" & objSysInfo.UserName 
10.
Set objUser = GetObject(strUserPath) 
11.
 
12.
For Each strGroup in objUser.MemberOf 
13.
    strGroupPath = "LDAP://" & strGroup 
14.
    Set objGroup = GetObject(strGroupPath) 
15.
    strGroupName = objGroup.CN 
16.
Next 
17.
	 
18.
		'********************************************************************************  
19.
		'Delete Network Printer 
20.
		'********************************************************************************  
21.
		For LOOP_COUNTER = 0 To objPrinters.Count - 1 Step 2 
22.
			If Left(objPrinters.Item(LOOP_COUNTER +1),2) = "\\" Then 
23.
				objNetwork.RemovePrinterConnection objPrinters.Item(LOOP_COUNTER +1),True,True 
24.
			End If 
25.
		msgbox ( "Delete PRinter" ) 
26.
		Next 
27.
		'********************************************************************************  
28.
		'Map Network Printer 
29.
		'******************************************************************************** 	  
30.
		Select Case strGroupName 
31.
			Case "printserveR_user" 
32.
				objNetwork.AddwindowsPrinterConnection "printserver\prt22" 
33.
		msgBox ( " Map Printer" ) 
34.
		End Select 
35.
msgbox ( "END" )
Danke für Eure Hilfe.
Mitglied: Biber
10.09.2007 um 09:24 Uhr
Moin repa,

dann scheint es doch weniger mit der beabsichtigten Aktion (sei es "Drucker zuweisen" oder "Urlaub streichen") zu tun zu haben, sondern damit, dass der Gruppenname-Vergleich in die Grütze geht.

Ersetze doch mal
01.
... 
02.
Select Case strGroupName 
03.
Case "printserveR_user" 
04.
...
...durch....
01.
... 
02.
Select Case LCase(strGroupName) 
03.
Case "printserver_user" 
04.
...
...und/oder setz doch mal zu Debug-Zwecken ein Wscript.echo strGroupName an eine Dir genehme Stelle.

Außerdem ist es irgendwie merkwürdig, dass Du weiter oben in der "For Each strGroup.."_Schleife zwar alle Gruppen durchwackelst, denen der User angehört, aber nur die letzte davon speicherst.... ist das bei Euch so Vorschrift?
Ich würde die For Each-Klamotte eher um die Seclect Case...end case-Zeilen legen.

Grüße
Biber
Bitte warten ..
Mitglied: repa
10.09.2007 um 10:53 Uhr
hi

habs mittlerweile rausgekriegt.

das script sieht nun wie folgt aus:
01.
On Error Resume Next 
02.
 
03.
Set objSysInfo = CreateObject("ADSystemInfo") 
04.
Set objNetwork = CreateObject("Wscript.Network") 
05.
Set objPrinters = objNetwork.EnumPrinterConnections 
06.
Set objDrives = WshNetwork.EnumNetworkDrives 
07.
 
08.
 
09.
strUserPath = "LDAP://" & objSysInfo.UserName 
10.
Set objUser = GetObject(strUserPath) 
11.
 
12.
'******************************************************************************** 
13.
'In this section, we define all things, used later in this script 
14.
'******************************************************************************** 
15.
 
16.
'Define, what should be done: 
17.
MapPrinter = enable 
18.
DelPrinter = enable 
19.
mapNetworkDrive = enable 
20.
DelNetworkDrive = enable 
21.
 
22.
'Define Network Drives 
23.
NetDriveI = "i:" 
24.
NetDriveJ = "j:" 
25.
NetDriveK = "k:" 
26.
NetDriveL = "l:" 
27.
NetDriveM = "m:" 
28.
NetDriveN = "n:" 
29.
NetDriveO = "o:" 
30.
NetDriveP = "p:" 
31.
NetDriveQ = "q:" 
32.
NetDriveR = "r:" 
33.
NetDriveS = "s:" 
34.
NetDriveT = "t:" 
35.
NetDriveU = "u:" 
36.
NetDriveV = "v:" 
37.
NetDriveY = "y:" 
38.
NetDriveX = "x:" 
39.
NetDriveZ = "z:" 
40.
 
41.
'Define Servers 
42.
Server1 = "\\12" 
43.
Server2 = "\\13" 
44.
Server3 = "\\15" 
45.
Server4 = "\\14" 
46.
PSRV1 = "\\16" 
47.
 
48.
'******************************************************************************** 
49.
'END 
50.
'******************************************************************************** 
51.
 
52.
 
53.
'********************************************************************************  
54.
'Remove Network Drives 
55.
'********************************************************************************  
56.
	 
57.
	objNetwork.RemoveNetworkDrive NetDriveI, True, True  
58.
	objNetwork.RemoveNetworkDrive NetDriveJ, True, True  
59.
	objNetwork.RemoveNetworkDrive NetDriveK, True, True  
60.
	objNetwork.RemoveNetworkDrive NetDriveL, True, True  
61.
	objNetwork.RemoveNetworkDrive NetDriveM, True, True  
62.
	objNetwork.RemoveNetworkDrive NetDriveN, True, True  
63.
	objNetwork.RemoveNetworkDrive NetDriveO, True, True  
64.
	objNetwork.RemoveNetworkDrive NetDriveP, True, True  
65.
	objNetwork.RemoveNetworkDrive NetDriveQ, True, True  
66.
	objNetwork.RemoveNetworkDrive NetDriveR, True, True  
67.
	objNetwork.RemoveNetworkDrive NetDriveS, True, True  
68.
	objNetwork.RemoveNetworkDrive NetDriveT, True, True  
69.
	objNetwork.RemoveNetworkDrive NetDriveU, True, True  
70.
	objNetwork.RemoveNetworkDrive NetDriveV, True, True  
71.
	objNetwork.RemoveNetworkDrive NetDriveY, True, True  
72.
	objNetwork.RemoveNetworkDrive NetDriveX, True, True  
73.
	objNetwork.RemoveNetworkDrive NetDriveZ, True, True  
74.
 
75.
msgbox ("Del Drive") 
76.
	 
77.
'********************************************************************************  
78.
'Map Network Drives 
79.
'********************************************************************************  
80.
if mapNetworkDrive = enable then 
81.
 
82.
 
83.
	 
84.
	 
85.
For Each strGroup in objUser.MemberOf 
86.
    strGroupPath = "LDAP://" & strGroup 
87.
    Set objGroup = GetObject(strGroupPath) 
88.
    strGroupName = objGroup.CN 
89.
 
90.
	 
91.
		objNetwork.MapNetworkDrive NetDriveI, Server2 & "\Installation" 
92.
		objNetwork.MapNetworkDrive NetDriveJ, Server1 & "\Daten" 
93.
		objNetwork.MapNetworkDrive NetDriveL, Server1 & "\se9" 
94.
 
95.
    Select Case strGroupName 
96.
	 
97.
		'Map SoftM drive if user in group GLSoftMAdmin 
98.
        Case "GlSoftMAdmin" 
99.
            objNetwork.MapNetworkDrive NetDriveS, Server1 & "\se8" 
100.
		'Map SoftM drive if user in group GLSoftMUser 
101.
        Case "GlSoftMUser" 
102.
            objNetwork.MapNetworkDrive NetDriveS, Server1 & "\user" 
103.
		'Map Unikis drive if user in group GlRohagSpedi 
104.
        Case "GLRohagSpedi" 
105.
            objNetwork.MapNetworkDrive NetDriveU, Server3 & "\se7$" 
106.
		'Map Mammut drive if user in group GLMammut 
107.
        Case "GLMammut" 
108.
            objNetwork.MapNetworkDrive NetDriveM, Server3 & "\se4" 
109.
		'Map Finanz drive if user in group GLDietikerFinanz 
110.
        Case "GLDietikerFinanz" 
111.
            objNetwork.MapNetworkDrive NetDriveN, Server1 & "\finanzen" 
112.
		'Map Finanzen drive if user in group GLDietikerPersonal 
113.
        Case "GLDietikerPersonal" 
114.
            objNetwork.MapNetworkDrive NetDriveN, Server1 & "\finanzen" 
115.
		'Map Finanzen drive if user in group GLDietikerKonzernleitung 
116.
        Case "GLDietikerKonzernleitung" 
117.
            objNetwork.MapNetworkDrive NetDriveN, Server1 & "\finanzen" 
118.
		'Map Finanzen drive if user in group GLBuDiv 
119.
        Case "GLBuDiv" 
120.
            objNetwork.MapNetworkDrive NetDriveN, Server1 & "\finanzen" 
121.
		'Map Finanzen drive if user in group GLDietikerIfrsUmstellung 
122.
        Case "GLDietikerIfrsUmstellung" 
123.
            objNetwork.MapNetworkDrive NetDriveN, Server1 & "\finanzen" 
124.
		'Map Lager drive if user in group GLDiagLager 
125.
        Case "GLDiagLager" 
126.
            objNetwork.MapNetworkDrive NetDriveK, Server1 & "\lager$" 
127.
		'Map Stahl drive if user in group GLStahl 
128.
        Case "GLStahl" 
129.
            objNetwork.MapNetworkDrive NetDriveV, Server1 & "\stahl" 
130.
		'Map Alucd2003 drive if user in group GLAluCD 
131.
        Case "GLAluCD" 
132.
            objNetwork.MapNetworkDrive NetDriveY, Server1 & "\se3" 
133.
		'Map Lohn drive if user in group GLLohn 
134.
        Case "GLLohn" 
135.
            objNetwork.MapNetworkDrive NetDriveO, Server1 & "\lohn$" 
136.
		'Map SocoAG drive if user in group LOSoCoAG 
137.
        Case "LOSocAG" 
138.
            objNetwork.MapNetworkDrive NetDriveT, Server1 & "\se2" 
139.
		'Map analysen drive if user in group GLAnalysen 
140.
        Case "GLAnalysen" 
141.
            objNetwork.MapNetworkDrive NetDriveR, Server1 & "\Analysen$" 
142.
        'Map analysen drive if user in group G_SoCo_User 
143.
		Case "G_SoCo_User" 
144.
            objNetwork.MapNetworkDrive NetDriveZ, Server4 & "\se" 
145.
		'Map analysen drive if user in group G_SoCo_IT 
146.
        Case "G_SoCo_IT" 
147.
            objNetwork.MapNetworkDrive NetDriveQ, Server4 & "\Backupstorage" 
148.
			objNetwork.MapNetworkDrive NetDrivex, Server4 & "\Softwarestorage" 
149.
         End Select 
150.
Next	  
151.
End IF	 
152.
 
153.
If delPrinter = enable then 	 
154.
		'********************************************************************************  
155.
		'Delete Network Printer 
156.
		'********************************************************************************  
157.
		For LOOP_COUNTER = 0 To objPrinters.Count - 1 Step 2 
158.
			If Left(objPrinters.Item(LOOP_COUNTER +1),2) = "\\" Then 
159.
				objNetwork.RemovePrinterConnection objPrinters.Item(LOOP_COUNTER +1),True,True 
160.
			End If 
161.
		msgbox ( "Delete PRinter" ) 
162.
		Next 
163.
end If 
164.
 
165.
if mapPrinter = enable then 
166.
		'********************************************************************************  
167.
		'Map Network Printer 
168.
		'******************************************************************************** 	  
169.
		 
170.
		For Each strGroup in objUser.MemberOf 
171.
    strGroupPath = "LDAP://" & strGroup 
172.
    Set objGroup = GetObject(strGroupPath) 
173.
    strGroupName = objGroup.CN 
174.
	 
175.
		Select Case strGroupName 
176.
			Case "print_user" 
177.
				objNetwork.AddwindowsPrinterConnection PSRV1 & "\printer_PRT22" 
178.
		msgBox ( " Map Printer" ) 
179.
		End Select 
180.
Next 
181.
end If 
182.
msgbox ( "END" )


Leider werden die Netzlaufwerke nicht gelöscht, alles andere funktioniert...

Hat jemand eine idee warum ?
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Add-Printer Powershell Script
gelöst Frage von br00talWindows Netzwerk7 Kommentare

Hiho :) Ich würde gerne in einem Netzwerk die Drucker per Powershell verbinden lassen da die GPO's hier nicht ...

Batch & Shell
Standarddrucker per Logon Script
gelöst Frage von QugartBatch & Shell10 Kommentare

Hallo zusammen! ich hab hier einen Drucker, den ich per Logon Script als Standard zuweisen will. Der Drucker namens ...

Windows Userverwaltung
Logon script bleibt hängen
Frage von frakaciWindows Userverwaltung4 Kommentare

Hallo Leute. Folgendes Problem: In unserer Domäne wird mit lokalen Profilen gearbeitet, damit die User auch offline arbeiten können. ...

Windows Userverwaltung
Logon Script mit einer .reg Datei
gelöst Frage von KathakiWindows Userverwaltung7 Kommentare

Hallo ihr Lieben, wir haben die letzten Wochen genutzt und sind mit unserem Terminalserver auf Windows Server 2012 R2 ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 9 StundenDrucker und Scanner

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 1 TagRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 3 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 4 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows Netzwerk
Performance bei Terminalserver
Frage von azizalexanderWindows Netzwerk20 Kommentare

Hallo zusammen, Ich wusste nicht in welches Thema meine Frage passt ich Bitte um Vergebung falls ich hier falsch ...

Exchange Server
Exchange 2013 - Unable to Relay nach extern, SuperMailer
Frage von leon123Exchange Server15 Kommentare

Hallo zusammen, ich brauch mal wieder eure Hilfe. Ich beschäftige mich gerade mit dem SuperMailer und erhalte vom Exchange ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte15 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...

Windows Server
Remote Desktop Services User Profile Disk - DFS
Frage von einzelkindWindows Server14 Kommentare

Hallo Miteinander, ich richte gerade eine neue RDS Farm auf Basis von Windows Server 2016 ein. Von Server 2012 ...