Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

mit VBScript Datei auslesen und anhand des Inhalts Drucker mappen

Frage Entwicklung VB for Applications

Mitglied: thunderwave

thunderwave (Level 1) - Jetzt verbinden

06.12.2007 um 13:04 Uhr, 3693 Aufrufe

Hallo!

Folgendes Problem: Ich möchte mit einem VBScript Drucker in Abhängigkeit von Gruppenzugehörigkeiten mappen. Da bei uns die Abteilungen jedoch häufig ihre Drucker wechseln bzw. neue Drucker hinzukommen, möchte ich nicht jedes Mal das Script pflegen müssen.
Deshalb möchte ich jetzt vom VBScript eine Datei z.B. CSV oder Textdatei auslesen lassen und die Drucker je nach Inhalt dieser Datei verbinden.
Der Inhalt der CSV oder Textdatei sollte einfahc wie folgt aussehen:

Gruppe1;\\Printserver\CanoniR5000
Gruppe2;\\Printserver\CanonColor
Gruppexyz;\\Printserver\Druckerxyz

Die Funktion ohne auslesen einer Datei habe ich schon fertig und die funktioniert auch (siehe unten). Wer kann mir weiterhelfen?!?
P.S. Die "Drucker-und-Gruppen-Datei" will ich auf einem zentralen Share ablegen.

Jetzt schon Vielen Dank!!!

Grüße Jochen


01.
'region Script Settings 
02.
'<ScriptSettings xmlns="http://tempuri.org/ScriptSettings.xsd"> 
03.
'  <ScriptPackager> 
04.
'    <process>cscript.exe</process> 
05.
'    <arguments /> 
06.
'    <extractdir>%TEMP%</extractdir> 
07.
'    <files /> 
08.
'    <usedefaulticon>true</usedefaulticon> 
09.
'    <showinsystray>false</showinsystray> 
10.
'    <altcreds>false</altcreds> 
11.
'    <efs>true</efs> 
12.
'    <ntfs>true</ntfs> 
13.
'    <local>false</local> 
14.
'    <abortonfail>true</abortonfail> 
15.
'    <product /> 
16.
'    <version>1.0.0.1</version> 
17.
'    <versionstring /> 
18.
'    <comments /> 
19.
'    <includeinterpreter>false</includeinterpreter> 
20.
'    <forcecomregistration>false</forcecomregistration> 
21.
'    <consolemode>false</consolemode> 
22.
'    <EnableChangelog>false</EnableChangelog> 
23.
'    <AutoBackup>false</AutoBackup> 
24.
'  </ScriptPackager> 
25.
'</ScriptSettings> 
26.
'endregion 
27.
 
28.
Option Explicit ' Force explicit declarations 
29.
30.
' Variables 
31.
32.
Dim WSHNetwork 'Variable zum Drucker verbinden 
33.
Dim FSO 
34.
Dim strUserName ' Variable für Benutzername 
35.
Dim strUserDomain ' Variable für Domäne 
36.
Dim ObjGroupDict ' Dictionary of groups to which the user belongs 
37.
 
38.
Set WSHNetwork = WScript.CreateObject("WScript.Network") 
39.
Set FSO = CreateObject("Scripting.FileSystemObject") 
40.
41.
' Wait until the user is really logged in... 
42.
43.
strUserName = "" 
44.
While strUserName = "" 
45.
WScript.Sleep 100 ' 1/10 th of a second 
46.
strUserName = WSHNetwork.UserName 
47.
Wend 
48.
strUserDomain = WSHNetwork.UserDomain 
49.
 
50.
' Gruppenmitgliedschaft wird ausgelesen.  
51.
 
52.
Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName) 
53.
 
54.
 
55.
'--------------------------------------------------------------------------------- 
56.
 
57.
If MemberOf(ObjGroupDict, "Gruppe1") Then 
58.
  
59.
'Netzwerkdrucker werden verbunden wenn Gruppenmitgliedschaft erfüllt ist. 
60.
 
61.
WshNetwork.AddWindowsPrinterConnection "\\Printserver\CanoniR5000" 
62.
WshNetwork.SetDefaultPrinter "\\\\Printserver\CanoniR5000" 
63.
WScript.echo "Drucker CanoniR5000 wurde verbunden." 
64.
 
65.
Else 
66.
WScript.echo "Drucker CanoniR5000 wurde nicht verbunden" 
67.
End If 
68.
 
69.
 
70.
'---------------------------------------------------------------------------------- 
71.
 
72.
 
73.
If MemberOf(ObjGroupDict, "Gruppe2") Then 
74.
  
75.
'Netzwerkdrucker werden verbunden wenn Gruppenmitgliedschaft erfüllt ist. 
76.
 
77.
WshNetwork.AddWindowsPrinterConnection "\\Printserver\CanonColor" 
78.
WshNetwork.SetDefaultPrinter "\\Printserver\CanonColor" 
79.
WScript.echo "Drucker CanonColor wurde verbunden." 
80.
 
81.
Else 
82.
WScript.echo "Drucker CanonColor wurde nicht verbunden" 
83.
End If 
84.
 
85.
 
86.
'---------------------------------------------------------------------------------- 
87.
 
88.
 
89.
 
90.
Function MemberOf(ObjDict, strKey) 
91.
' Given a Dictionary object containing groups to which the user 
92.
' is a member of and a group name, then returns True if the group 
93.
' is in the Dictionary else return False.  
94.
95.
' Inputs: 
96.
' strDict - Input, Name of a Dictionary object 
97.
' strKey - Input, Value being searched for in 
98.
' the Dictionary object 
99.
' Sample Usage: 
100.
101.
' If MemberOf(ObjGroupDict, "DOMAIN ADMINS") Then 
102.
' wscript.echo "Is a member of Domain Admins." 
103.
' End If 
104.
105.
106.
MemberOf = CBool(ObjGroupDict.Exists(strKey)) 
107.
 
108.
End Function 
109.
 
110.
 
111.
Function CreateMemberOfObject(strDomain, strUserName) 
112.
' Given a domain name and username, returns a Dictionary 
113.
' object of groups to which the user is a member of. 
114.
115.
' Inputs: 
116.
117.
' strDomain - Input, NT Domain name 
118.
' strUserName - Input, NT username 
119.
120.
Dim objUser, objGroup 
121.
 
122.
Set CreateMemberOfObject = CreateObject("Scripting.Dictionary") 
123.
CreateMemberOfObject.CompareMode = vbTextCompare 
124.
Set objUser = GetObject("WinNT://" _ 
125.
& strDomain & "/" _ 
126.
& strUserName & ",user") 
127.
For Each objGroup In objUser.Groups 
128.
CreateMemberOfObject.Add objGroup.Name, "-" 
129.
Next 
130.
Set objUser = Nothing 
131.
 
132.
End Function
Ähnliche Inhalte
Microsoft Office
gelöst Inhalte vieler excel dateien auslesen und als Liste wiedergeben (13)

Frage von tw3aker zum Thema Microsoft Office ...

Batch & Shell
gelöst Dateien nach Inhalt umbenennen (4)

Frage von Icemaniac zum Thema Batch & Shell ...

XML
gelöst Vbs - simple XML Datei auslesen (4)

Frage von DeeJayBee zum Thema XML ...

Neue Wissensbeiträge
Windows 10

Erneutes Starten eines Programmes mit Admin-Rechten

Tipp von Estefania zum Thema Windows 10 ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(3)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...