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, 3758 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: ...

VB for Applications

Inhalt einer XML Datei Script ändern

gelöst Frage von chris27584VB for Applications4 Kommentare

Hallo zusammen, in folgendem Script <?xml version="1.0"?> -<SkClientConfig xmlns:xsi=" xmlns:xsd=" <LastServerIndex>1</LastServerIndex> <LastUser>11111</LastUser> <LastWorkplace>2358</LastWorkplace> -<SerializableFont> <FontValue>Microsoft Sans Serif; 8,25pt</FontValue> </SerializableFont> ...

Windows Server

PowerShell Inhalt einer csv Datei löschen

gelöst Frage von makaroniWindows Server4 Kommentare

Hallo zusammen, ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und ...

Batch & Shell

Inhalt einer Datei als Tabelle einlesen

gelöst Frage von SmogKielBatch & Shell2 Kommentare

Hallo, ich möchte gerne eine Datei zeilenweise einlesen und als Tabelle speichern. Hat jemand eine Idee wie das funktioniert? ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 4 StundenInternet2 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 8 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 1 TagWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 1 TagSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs24 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell22 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...