AD UserScript
Hallo Zusammen,
ich habe eine Script zum Auslesen der Userdaten (in der AD) in eine Exceltabelle geschrieben.
Ich habe mir das ganze Script ohne große Kenntnisse zu haben zusammengestellt und kommen
momentan nicht mehr weiter
Folgende Schritte werden im Script abgearbeitet:
1. Über einen ComboBox wird die netsprechende OU abgefragt, wo sich die User befinden.
2. Daraus ergibt sich der Pfad der OU.
3. Danach wird in der Exceltabelle überprüft, ob der User schon existiert (SamAccountName), wenn JA, dann wird dieser User übersprungen.
3.1 in Zukunft soll es eineAbfrage geben, ob die Daten aktualisiert werden sollen
4. Wenn die Userdaten noch nicht in der Tabelle existieren, werden diese wie folgt ausgelesen.
Die ist ein Ausschnitt aus dem Script mit den Variablen:
Jetzt habe ich das Problem, dass ich bei einigen Usern die Anmeldung nur an bestimmten Computern erlaubt habe und andere User
sich an allen Computern anmelden dürfen.
Bsp.: Ein User kann sich an 3 Clients anmelden, aber nur der 1. wird in die Zelle geschrieben
Wie kann man alle Einträge aus der AD lesen?
Wie kann man die Eigenschaft auslesen, dass sich der User an Allen Computern anmelden kann?
Für Antworten und Vorschläge bedanke ich mich schon im Voraus!
ich habe eine Script zum Auslesen der Userdaten (in der AD) in eine Exceltabelle geschrieben.
Ich habe mir das ganze Script ohne große Kenntnisse zu haben zusammengestellt und kommen
momentan nicht mehr weiter
Folgende Schritte werden im Script abgearbeitet:
1. Über einen ComboBox wird die netsprechende OU abgefragt, wo sich die User befinden.
2. Daraus ergibt sich der Pfad der OU.
3. Danach wird in der Exceltabelle überprüft, ob der User schon existiert (SamAccountName), wenn JA, dann wird dieser User übersprungen.
3.1 in Zukunft soll es eineAbfrage geben, ob die Daten aktualisiert werden sollen
4. Wenn die Userdaten noch nicht in der Tabelle existieren, werden diese wie folgt ausgelesen.
Die ist ein Ausschnitt aus dem Script mit den Variablen:
Sub UserGroup()
Dim oDomain
Dim strDomain
Dim strUser
Dim intRow As Integer
Dim strOU
Dim rng As Range
Const intStartRow = 5
intRow = intStartRow
...
For Each strUser In oDomain
Set rng = ActiveSheet.Range("A1:A65000").Find(strUser.SamAccountName)
If rng Is Nothing Then
GoTo run
Else
Cells(rng.Row, 1).Select
MsgBox (strUser.SamAccountName & " existiert")
End If
GoTo NextUser
run:
On Error GoTo Fehler
intRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
intRow = intRow + 1
Cells(intRow, 1).Select
Cells(intRow, 1).FormulaR1C1 = strUser.SamAccountName
Cells(intRow, 2).Select
Cells(intRow, 2).FormulaR1C1 = strUser.GivenName
Cells(intRow, 3).Select
Cells(intRow, 3).FormulaR1C1 = strUser.lastname
Cells(intRow, 4).Select
Cells(intRow, 4).FormulaR1C1 = strUser.department
Cells(intRow, 5).Select
Cells(intRow, 5).FormulaR1C1 = strUser.objectCategory
Cells(intRow, 6).Select
Cells(intRow, 6).FormulaR1C1 = strUser.UserWorkstations
Cells(intRow, 7).Select
Cells(intRow, 7).FormulaR1C1 = strUser.EmailAddress
Jetzt habe ich das Problem, dass ich bei einigen Usern die Anmeldung nur an bestimmten Computern erlaubt habe und andere User
sich an allen Computern anmelden dürfen.
Bsp.: Ein User kann sich an 3 Clients anmelden, aber nur der 1. wird in die Zelle geschrieben
Wie kann man alle Einträge aus der AD lesen?
Wie kann man die Eigenschaft auslesen, dass sich der User an Allen Computern anmelden kann?
Für Antworten und Vorschläge bedanke ich mich schon im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171500
Url: https://administrator.de/forum/ad-userscript-171500.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
5 Kommentare
Neuester Kommentar
Moin Moin
1. Wenn du in Zukunft Code Postest sei doch bitte so gut und verwende die Code Tags aus der .
Das erhöht die Übersichtlichkeit doch erheblich.
2. Ich bin nicht ganz sicher was "strUser" bei Dir für ein Objekt ist (den Teil hast du leider weggelassen), aber das Property das die Liste der erlaubten Workstations enthält heißt "UserWorkstations". und ist leer wenn der User sich an allen PCs anmelden darf bzw. enthält eine kommagetrennte Liste mit PC Namen.
Ich hoffe das hilft dir weiter.
Gruß L.
1. Wenn du in Zukunft Code Postest sei doch bitte so gut und verwende die Code Tags aus der .
Das erhöht die Übersichtlichkeit doch erheblich.
2. Ich bin nicht ganz sicher was "strUser" bei Dir für ein Objekt ist (den Teil hast du leider weggelassen), aber das Property das die Liste der erlaubten Workstations enthält heißt "UserWorkstations". und ist leer wenn der User sich an allen PCs anmelden darf bzw. enthält eine kommagetrennte Liste mit PC Namen.
Ich hoffe das hilft dir weiter.
Gruß L.
... und ganz nebenbei: Die Zeilen der Art
sind unnötig und
lässt sich kürzer und lesbarer
schreiben (und sogar "
Grüße
bastla
P.S.: Logan meinte die "Code"- ...
Cells(intRow, 1).Select
Cells(intRow, 1).FormulaR1C1 = strUser.SamAccountName
Cells(intRow, "A").Value = strUser.SamAccountName
.Value
" könntest Du, da Default, weglassen) ...Grüße
bastla
P.S.: Logan meinte die "Code"- ...