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

Frage Entwicklung VB for Applications

Mitglied: thunderwave

thunderwave (Level 1) - Jetzt verbinden

06.12.2007 um 13:04 Uhr, 3696 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 ...

Batch & Shell
Batch-Problem Inhalt aus Datei auslesen, bearbeiten und dann wieder speichern
gelöst Frage von AllForOne94Batch & Shell9 Kommentare

Hallo Com, Ich habe eigentlich ein relativ simples Problem. Meine Ausgangsdatei ist so aufgebaut: 0,00h 1,00h 2,18h 3,00h 4,00h ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 21 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 22 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...