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, 3728 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
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung35 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 TagenSpeicherkarten5 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 5 TagenHardware4 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung27 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Windows 10
Windows 10 Spracherkennung - Eure Meinungen?
Frage von honeybeeWindows 1014 Kommentare

Hallo, wollte heute mal aus Neugier die Spracherkennung unter Windows 10 (Version 1803) ausprobieren und war mehr wie enttäuscht. ...

Switche und Hubs
POE-Switche
gelöst Frage von MiStSwitche und Hubs13 Kommentare

Guten Morgen, ich überlege ob ich in unserem Netzwerk die aktuellen Switche (D-LINK DGS-1210-28) durch PoE-Switche ersetzen soll. Der ...