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

mit VBScript Datei auslesen und anhand des Inhalts Drucker mappen

Mitglied: thunderwave

thunderwave (Level 1) - Jetzt verbinden

06.12.2007 um 13:04 Uhr, 3717 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
VB for Applications
Outlook Email VBScript Inhalt
gelöst Frage von TheFalconVB for Applications2 Kommentare

Hallo zusammen, habe hier ein kleines VBScript welches fast perfekt läuft: Er werden jetzt die Inhalte wie folgt ausgegeben: ...

Xenserver
ICA File, Drucker Mappen
Frage von duschgasXenserver3 Kommentare

Guten Tag, jetzt musste ich mich doch einmal registrieren um meine Frage die ich seit 4 Tagen nicht lösen ...

Basic

AutoIt - Array auslesen und den Inhalt der Dateien in Worddatei einfügen

gelöst Frage von hipfzwirgelBasic4 Kommentare

Hallo an alle AutoIt-Spezialisten, ich erstelle gerade ein Script(genauer eine Funktion :-) ), dass Bilder in eine Worddatei einfügen ...

Microsoft Office

Inhalte vieler excel dateien auslesen und als Liste wiedergeben

gelöst Frage von tw3akerMicrosoft Office13 Kommentare

Hallo miteinander, Habe Frage: wie kann ich mit einer Excel Datei einen Ordner und dessen Unterordner auslesen. Die Dateien ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 2 TagenBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 4 TagenHumor (lol)10 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 4 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 5 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
gelöst Frage von vanTastE-Mail32 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server21 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

Windows Server
Server verliert Dateien und Ordner
gelöst Frage von routeserverWindows Server18 Kommentare

Hallo Freunde, ich habe hier ein Problem, das mich an meine Grenzen treibt und ich würde gerne wissen, ob ...

Windows Tools
User Self Service und Client Management
Frage von OrkansonWindows Tools14 Kommentare

Hallo zusammen, ich hab ein paar verschiedene Fragen: 1. Was benutzt ihr um Software im Unternehmen zu verteilen? 2. ...