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 (235)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (60)
    • Windows 11 (21)
    • 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 (57)
    • Auto (18)
    • Bahn (18)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (204)
    • #t2dhero (53)
    • Arbeitszimmer (31)
    • Audio (20)
    • Film / Kino (7)
    • Gedanken (79)
    • Gesundheit (33)
    • Internet (5)
    • Lebensmittel & Essen (22)
    • Lesestoff (18)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • PrĂ€sentation (4)
    • Zertifizierung (42)
  • Programme (325)
    • Android-Apps (27)
    • Eigene Tools (12)
    • iOS-Apps (6)
    • Office (86)
    • Patchday+Updates (74)
    • Software (150)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (92)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (61)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (159)
    • 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 (18)
    • Windows Server 2022 (15)
    • Windows Server 2025 (8)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme