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

gelöst AD UserScript

Mitglied: lafiney

lafiney (Level 1) - Jetzt verbinden

15.08.2011, aktualisiert 15:12 Uhr, 2759 Aufrufe, 5 Kommentare

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:

01.
 
02.
Sub UserGroup()   
03.
 
04.
Dim oDomain 
05.
Dim strDomain 
06.
Dim strUser 
07.
Dim intRow As Integer 
08.
Dim strOU 
09.
Dim rng As Range 
10.
 
11.
Const intStartRow = 5 
12.
intRow = intStartRow 
13.
 
14.
... 
15.
 
16.
 
17.
For Each strUser In oDomain 
18.
 
19.
 
20.
Set rng = ActiveSheet.Range("A1:A65000").Find(strUser.SamAccountName) 
21.
If rng Is Nothing Then 
22.
  GoTo run 
23.
  Else 
24.
  Cells(rng.Row, 1).Select 
25.
  MsgBox (strUser.SamAccountName & " existiert") 
26.
End If 
27.
 
28.
GoTo NextUser 
29.
 
30.
 
31.
run: 
32.
 
33.
  On Error GoTo Fehler 
34.
   
35.
  intRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 
36.
  intRow = intRow + 1 
37.
   
38.
  Cells(intRow, 1).Select 
39.
  Cells(intRow, 1).FormulaR1C1 = strUser.SamAccountName 
40.
 
41.
  Cells(intRow, 2).Select 
42.
  Cells(intRow, 2).FormulaR1C1 = strUser.GivenName 
43.
 
44.
  Cells(intRow, 3).Select 
45.
  Cells(intRow, 3).FormulaR1C1 = strUser.lastname 
46.
 
47.
  Cells(intRow, 4).Select 
48.
  Cells(intRow, 4).FormulaR1C1 = strUser.department 
49.
 
50.
  Cells(intRow, 5).Select 
51.
  Cells(intRow, 5).FormulaR1C1 = strUser.objectCategory 
52.
   
53.
  Cells(intRow, 6).Select 
54.
  Cells(intRow, 6).FormulaR1C1 = strUser.UserWorkstations 
55.
   
56.
  Cells(intRow, 7).Select 
57.
  Cells(intRow, 7).FormulaR1C1 = strUser.EmailAddress 
58.
 
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!
Mitglied: Logan000
15.08.2011 um 13:40 Uhr
Moin Moin

1. Wenn du in Zukunft Code Postest sei doch bitte so gut und verwende die Code Tags aus der Formatierungshilfe.
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.
Bitte warten ..
Mitglied: bastla
15.08.2011 um 14:29 Uhr
... und ganz nebenbei: Die Zeilen der Art
Cells(intRow, 1).Select
sind unnötig und
Cells(intRow, 1).FormulaR1C1 = strUser.SamAccountName
lässt sich kürzer und lesbarer
Cells(intRow, "A").Value = strUser.SamAccountName
schreiben (und sogar ".Value" könntest Du, da Default, weglassen) ...

Grüße
bastla

P.S.: Logan meinte die "Code"-Formatierung ...
Bitte warten ..
Mitglied: lafiney
15.08.2011 um 14:44 Uhr
@Logan000 & @bastla,

vielen Dank für die schnellen Antworten.

Ich werde Eure Anmerkungen testen und ein Ergebnis posten.
Wie schon beschrieben steckt mein Wissen, was das Scripting betrifft, in den Kinderschuhen, eröffnet aber eine Menge Möglichkeiten.
Bitte warten ..
Mitglied: lafiney
15.08.2011 um 15:35 Uhr
Ich habe nun die Formatierung angepasst und den Code etwas ausführlicher hinzugefügt.

Die Property "UserWorkstations" war genau der richtige Hinweis.

Jetzt kann ich die Daten auswerten und in einer 2. Tabelle eine Matrix aufbauen.
Die Optimierung des Codes werde ich in Ruhe angehen.

Danke!!!
Grüße E.
Bitte warten ..
Mitglied: Logan000
16.08.2011 um 08:29 Uhr
Moin Moin

Freut mich, das wir dir helfen konnten.
Sei doch so gut und setzte den Beitrag auf erledigt.

Gruß L.
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
Geräteauthentifizierung mit AD
Frage von dzinasbltNetzwerkmanagement7 Kommentare

Guten Morgen alle zusammen, meine erste Frage hier: Einer unserer Mitarbeiter hatten seinen eigenes Notebook im Betrieb. Dieses möchte ...

Windows Userverwaltung
AD Berechtigungen
Frage von mikehuerzelerWindows Userverwaltung1 Kommentar

Useraccounts werden vom Admin erstellt. Nun sollten aber bestehende Useraccounts im AD von einer Gruppe von "Subadmins" bearbeitet werden ...

Windows Server
AD Struktur
gelöst Frage von winlinWindows Server8 Kommentare

Hallo Leute, wir planen gerade die AD Struktur und ich habe ein paar Fragen. Aktuelles Beispiel: DOMAIN.COM OU=Standort1 OU=Standort2 ...

Windows Server
AD verstehen
gelöst Frage von homermgWindows Server4 Kommentare

Hey Leute, ich versuche gerade eine AD vom Vorgänger zu analysieren und verstehen. Folgendes habe ich rausgefunden: wir haben ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 1 TagE-Mail7 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 1 TagHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 TagSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 TagenServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Windows 10
Best Practice für Schulungsräume
Frage von Sn0wFoxWindows 1016 Kommentare

Hallo, leider bin ich auch nach langer Suche nicht auf eine zufriedenstellende Nicht-Cloud-Lösung gestoßen und wollte mal Fragen ob ...