Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – Erläuterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Kategorie: VBS

Umgebungsvariable per VBS setzen

Posted on 22. März 20121. April 2012 By Daniel Lensing Keine Kommentare zu Umgebungsvariable per VBS setzen

Es kann manchmal von Vorteil sein Umgebungsvariablen per VBS-Skript zu verteilen, da Sie im Gegensatz zu relativ festen Einbindungen per Standard-Gruppenrichtlinie flexibler gehalten werden können.

Hier ein kleines Beispiel:

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Environment("User").item("Bezeichnung") = "Wert"
Set WSHShell = Nothing
WScript.Quit(0)

Dieses Beispiel legt nun eine Variable im Benutzerbereich an. Um eine Variable im Bereich des allgemeinen Computers anzulegen, muss recht einfach der Eintrag „User“ auf „System“ geändert werden.

Die Bezeichnung und der Wert können selbstverständlich auch mit Übergaben von Werten aus anderen Programmbereichen erfolgen.

VBS

Benutzer-Import per VBS anhand Excel-Liste

Posted on 28. Februar 201216. Oktober 2012 By Daniel Lensing Keine Kommentare zu Benutzer-Import per VBS anhand Excel-Liste

Manchmal erhält man eine Liste mit Benutzern, die so schnell wie möglich in ein Active Directory hinzugefügt werden soll. Dieses kann man unter anderem mit dieser VBS-Datei sehr komfortabel durchführen

Dim objExcel, objOpenDialog, objOU, objContact, objRecip
Dim strVorname, strNachname, strEmail, strDesc, Datei
Dim strLogin, strDepartment, strPassword, strUser, strOU
 
Datei = Inputbox ("Dateinamen inkl. Pfad eingeben:")
strOU = Inputbox ("LDAP://-Pfad eingeben:")
 
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Workbooks.Open Datei
 
'Erste Zeile enthält die Überschriften
i = 2
Do While objExcel.Worksheets(1).Cells(i,3).Value <> ""
strVorname&nbsp; = objExcel.Worksheets(1).Cells(i,1).Value
strNachname = objExcel.Worksheets(1).Cells(i,2).Value
strEmail&nbsp; = objExcel.Worksheets(1).Cells(i,3).Value
strDepartment&nbsp; = objExcel.Worksheets(1).Cells(i,4).Value
strUser = objExcel.Worksheets(1).Cells(i,5).Value
strPassword&nbsp; = objExcel.Worksheets(1).Cells(i,6).Value
strLogin&nbsp; = objExcel.Worksheets(1).Cells(i,7).Value
 
Set objOu = GetObject("LDAP://" & strOU)
 
Set objUser = objOu.Create("User", "cn=" & strUser)
objUser.Put "samaccountname", strUser
objUser.Put "userprincipalname",&nbsp;strUser & "@testing.local"
objUser.Put "sn", strNachname
objUser.Put "displayName", strNachname & ", " & strVorname
objUser.Put "department", strDepartment
objUser.Put "mail", strEMail
objUser.SetInfo
 
 
objUser.SetPassword strPassword
objUser.Put "pwdLastSet", 0
objUser.AccountDisabled = False
objUser.Put "scriptpath", strLogin
objUser.SetInfo
 
i = i + 1
Loop
 
objExcel.ActiveWorkbook.Saved = True
 
objExcel.Application.Quit
 
WScript.Echo "User erfolgreich angelegt!"
WScript.Quit

Beim Start des Programms wird der Dateiname inkl. Pfad der zu importierenden Excel-Datei abgefragt, der zum Beispiel so eingegeben werden muss:

E:\Import\Mappe1.xls

Als nächstes wird nach dem LDAP-Pfad gefragt in dem die Benutzer angelegt werden sollen. Dieser kann wie folgt deklariert werden:

ou=import,dc=testing,dc=local

Den folgenden Definitionen muss die Excel-Datei unterliegen:

  • Import wird ab der zweiten Zeile durchgefĂĽhrt, so dass in der Ersten Ăśberschriften definiert sein können.
  • Spalte 1: Vorname
  • Spalte 2: Nachname
  • Spalte 3: E-Mail-Adresse (diese wird nicht automatisch im Exchange angelegt, sondern nur hinterlegt)
  • Spalte 4: Abteilung
  • Spalte 5: Benutzername
  • Spalte 6: Passwort
  • Spalte 7: Loginskript

Bei dem Passwort muss darauf geachtet werden, dass für den Import ein Passwort definiert ist, welches den Sicherheitsbedingungen der Domäne entspricht. Ansonsten wird zwar der Benutzer angelegt, aber der Import bleibt beim Setzen des nicht konformen Kennworts stehen.

VBS

Exchange-Kontakte per VBS importieren

Posted on 23. Juni 201120. Juni 2012 By Daniel Lensing Keine Kommentare zu Exchange-Kontakte per VBS importieren

Aufgrund einer Anforderung eines Kundenauftrags mussten bei ĂĽber 600 Benutzern Mail-Weiterleitungen eingerichtet werden, damit die Nachrichten im alten sowie im neuen Mail-System verarbeitet werden. Aus diesem Grund mussten in der alten Umgebung eine entsprechende Anzahl von Mail-Kontakten angelegt werden. Da dieses manuell recht langwierig gewesen wäre, habe ich das folgende Skript von „Dani“ gefunden. Dieses muss einfach in eine VBS-Datei kopiert werden:

'##########################################################################
'Autor:&nbsp;Dani
'Aufgabe:&nbsp;Aus einer Exceltabelle im Exchange externe Kontakt erstellen
 
'Version:
'0.1 - Namensgebung einheitlich dargestellt
'0.2 - Dialogbox zur Abfrage der Exceltabelle eingebaut
'0.3 - ĂśberprĂĽft, ob Kontakt schon vorhanden ist
'0.4 - In der Abfrage, ob die E-Mailadresse schon AD vorhanden ist, war die Abfrage falsch.
 
'Variablen
'##########################################################################
Dim objobjExcel, objOpenDialog, objOU, objContact, objRecip
Dim strVorname, strNachname, strEmail, strDesc
 
' Dialogbox - Auswahl der Exceltabelle, die eingelesen werden soll
'##########################################################################
do
Set objOpenDialog = CreateObject("SAFRCFileDlg.FileOpen")
intReturn = objOpenDialog.OpenFileOpenDlg
 
If intReturn Then
Else
WScript.Echo "Script wird beendet!"
WScript.Quit
End If
 
Loop While objOpenDialog.FileName = ""
 
'Die entsprechende Datei wird geöffent
'##########################################################################
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Workbooks.Open objOpenDialog.FileName
 
'Zeilennummer der ersten Datenzeile
i = 2
Do While objExcel.Worksheets(1).Cells(i,3).Value &lt;&gt; ""
strVorname &nbsp;= objExcel.Worksheets(1).Cells(i,1).Value
strNachname = objExcel.Worksheets(1).Cells(i,2).Value
strEmail &nbsp;= objExcel.Worksheets(1).Cells(i,3).Value
strDesc &nbsp;= objExcel.Worksheets(1).Cells(i,4).Value
 
' Organisationseinheit, in der ide Kontake erzeugt werden sollen
Set objOu = GetObject("<a href="ldap://ou=Kontakte,dc=familie-wydler,dc=local">LDAP://ou=Kontakte,dc=domain,dc=local</a>")
 
'ĂśberprĂĽfen, ob eine Kontakt schon vorhanden ist und setzt dem entsprechend die Variable
' True - E-Mailadresse existiert bereits
' False - E-Mailadresse nicht vorhanden
emailExists = False
 
For Each adcontact In objOu
If LCase(CStr(adcontact.targetAddress)) = LCase(CStr("SMTP:"&amp; strEmail)) Then
emailExists = True
Exit For
End If
Next
 
'Erzeugt die einzelnen Kontakte
If Not emailExists Then
 
'Erzeugt die einzelnen Kontakte
Set objContact = objOu.Create("contact", "cn="&amp; strVorname &amp;" "&amp; strNachname)
objContact.mailNickName = strVorname &amp;" "&amp; strNachname
objContact.displayName = strVorname &amp;" "&amp; strNachname
objContact.targetAddress = strEmail
objContact.givenName = strVorname
objContact.sn = strNachname
 
'Setzt nur die Beschreibung, wenn das Excelfeld nicht leer ist
If strDesc &lt;&gt; "" Then
objContact.description= strDesc
End If
 
'Hinterlegt im Reiter "E-Mail Adressen" der Benutzereigenschaften die E-Mailadresse
Set objRecip = objContact
objRecip.MailEnable "SMTP:" &amp; strEmail
objContact.SetInfo
Else
WScript.echo "Doppelter Kontakt - "&amp; strVorname &amp;", "&amp; strNachname &amp;"!"
End If
 
'Nächste Excelzeile
i = i + 1
Loop
 
'Setzt das "gespeichert" - Flag. Somit entfällt die Abfrage beim Beenden
objExcel.ActiveWorkbook.Saved = True
 
'Exceltabelle schlieĂźen / beenden
objExcel.Application.Quit
 
'Script beenden
'##########################################################################
WScript.Echo "Kontakte erfolgreich angelegt!"
WScript.Quit

Quelle: http://www.administrator.de/index.php?content=59212

Nun muss man im Skript nur die OU angeben, in der die Kontakte erstellt werden sollen und die Exceltabelle vorbereiten nach dem Design:

  • Spalte 1: Vorname
  • Spalte 2: Nachname
  • Spalte 3: E-Mail-Adresse
  • Spalte 4: Beschreibung (falls benötigt)

Die Tabelle sollte allerdings dieses nicht als ĂśBerschriften haben, da diese sonst auch als Kontakt angelegt werden.

Exchange Server, VBS

Seitennummerierung der Beiträge

Vorherige 1 2

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Allgemein (1)
  • Client (238)
    • Android (8)
    • Fedora (Linux) (5)
    • iOS (6)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (62)
    • Windows 11 (24)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (58)
    • Auto (18)
    • Bahn (19)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (215)
    • #t2dhero (57)
    • Arbeitszimmer (38)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (81)
    • Gesundheit (37)
    • Internet (7)
    • Lebensmittel & Essen (22)
    • Lesestoff (19)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (328)
    • Android-Apps (28)
    • Eigene Tools (12)
    • iOS-Apps (7)
    • Office (87)
    • Patchday+Updates (75)
    • Software (151)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (94)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (63)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (160)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (19)
    • Windows Server 2022 (16)
    • Windows Server 2025 (9)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (37)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (10)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme