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

An domäne angemeldete User

Mitglied: volunteer1985

volunteer1985 (Level 1) - Jetzt verbinden

27.04.2006, aktualisiert 02.05.2006, 5408 Aufrufe, 4 Kommentare

Hallo,
hab die etlichen Beiträge in dem Forum zu diesem Thema gelesen aber, so das 100 %ige war für mich nicht dabei...
Mache gerad ein Praktikum, meine Aufgabe ist es alle an der Domäne !!angemeldeten!! User + LogOn + LogOff Zeiten aus dem Active Directory auszulesen und in eine Datei zu schreiben. Da ich gerade erst frisch aus der schule bin fehlts mir noch an fachwissen...
Ich würde das gern mit einer kleinen VBS File über ldap lösen. Wenn jem. diesbezüglich schon ein ähnl. script hat oder nen guten link...*G* lieber das script da ich ehrlich gesagt keine ahnung habe....
MFG
Mitglied: Dani
27.04.2006 um 19:28 Uhr
Hi,
mit diesem VBScript kannst du mal auslesen, wann er sich das letzte mal angemeldet hat. Das Ergebnis wird in einer Exceltabelle ausgegeben!
01.
On Error Resume Next
02.

03.
Set objFSO = CreateObject("Scripting.FileSystemObject")
04.
Set objExcel = CreateObject("Excel.Application")
05.

06.
objExcel.Visible = True
07.
objExcel.Workbooks.Add
08.

09.
'Set objWorkbook = objExcel.Workbooks.Add
10.
Set objWorksheet = objWorkbook.Worksheets(3)
11.
Set colSheets = objWorkbook.Sheets
12.

13.
'#######################################
14.
' Auslesen der Textdatei - Darin stehen die OU Gruppen
15.
'#######################################
16.
Dim arrFileLines()
17.
i = 0
18.
Set objFile = objFSO.OpenTextFile("ou.txt", 1)
19.

20.
Do Until objFile.AtEndOfStream
21.
     Redim Preserve arrFileLines(i)
22.
     arrFileLines(i) = objFile.ReadLine
23.
i = i + 1
24.
Loop
25.
objFile.Close
26.

27.
'#######################################
28.
'#######################################
29.
'colSheets.add ,objWorksheet,b
30.
x = 2
31.
oucount = 1
32.
mustchangepw = 1
33.
ischangedpw = 1
34.

35.
For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
36.
	
37.
	'x = 3
38.

39.
	Set objWorksheet = objWorkbook.Worksheets(1)
40.
	objWorksheet.Activate
41.

42.
	'#############################################################
43.
	'Erstelllt die Überschriften in der Exceldatei
44.
	'#############################################################
45.
	objExcel.ActiveSheet.Cells(1, 1).Value = "Name"
46.
	objExcel.ActiveSheet.Cells(1, 2).Value = "Benutzername"
47.
	objExcel.ActiveSheet.Cells(1, 3).Value = "Organisationeinheiten"
48.
	objExcel.ActiveSheet.Cells(1, 4).Value = "Letzter Login"
49.
	
50.
	'#############################################################
51.
	'Passt die Spaltenbreite der jeweiligen Überschrift an
52.
	'#############################################################
53.
	objExcel.ActiveSheet.Cells(1, 1).ColumnWidth = 16
54.
	objExcel.ActiveSheet.Cells(1, 2).ColumnWidth = 20
55.
	objExcel.ActiveSheet.Cells(1, 3).ColumnWidth = 30
56.
	objExcel.ActiveSheet.Cells(1, 4).ColumnWidth = 25
57.
	
58.
	'#############################################################
59.
	'Dekl. von Konstanten
60.
	'#############################################################
61.
	Const ADS_UF_ACCOUNTDISABLE = 2
62.
	Const ADS_UF_PASSWORD_EXPIRED = &h800000
63.
	Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
64.
	Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-00aa0040529b}"
65.

66.

67.
	Set objHash = CreateObject("Scripting.Dictionary")
68.
	objHash.Add "ADS_UF_DONT_EXPIRE_PASSWD", &h10000
69.

70.
	Set objConnection = CreateObject("ADODB.Connection")
71.
	objConnection.Open "Provider=ADsDSOObject;"
72.
	Set objCommand = CreateObject("ADODB.Command")
73.
	objCommand.ActiveConnection = objConnection
74.

75.
	objCommand.Properties("Page Size") = 1000
76.
	objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
77.
	
78.

79.
objCommand.CommandText = _
80.
    "<GC://" & arrFileLines(l) & ">;(objectCategory=User)" & _
81.
        ";userAccountControl,distinguishedName,cn;subtree"
82.

83.
Set objRecordSet = objCommand.Execute
84.
Do Until objRecordset.EOF
85.
 intUserAccountControl = objRecordset.Fields("userAccountControl")
86.
 If NOT intUserAccountControl AND ADS_UF_ACCOUNTDISABLE Then
87.
    For Each Key In objHash.Keys 		
88.
    
89.
	'#############################################################
90.
	'Auslesen der Infos und erzeugen des Excelinhalts
91.
	'#############################################################
92.
    set objuser = getObject ("LDAP://" & objRecordset.Fields("distinguishedName").value)
93.
    lastlogon = objuser.LastLogin
94.
	dtmValue = objuser.PasswordLastChanged
95.
    dnName = objRecordset.Fields("distinguishedName").value
96.
               
97.
    dnnamesumcount = Len(dnname)
98.
    dnnamecount = InStr(1,dnname,"OU")
99.
    cut = dnnamesumcount - dnnamecount 
100.
    dncut = Right(dnname, cut)
101.
		
102.
	TF.WriteLine("WYDLER\" + objuser.sAMAccountName)
103.
	objExcel.ActiveSheet.Cells(x, 1).Value = objuser.cn 'cnName
104.
	objExcel.ActiveSheet.Cells(x, 2).Value = objuser.sAMAccountName 
105.
   	
106.
   	objExcel.ActiveSheet.Cells(x, 3).Value = dncut 'arrFileLines(l)
107.
    objExcel.ActiveSheet.Cells(x, 4).Value = lastlogon
108.
		
109.
	x = x + 1        	
110.
	 
111.
	Next
112.
    End If
113.
   	objRecordset.MoveNext
114.
	 
115.
	Loop
116.

117.
objConnection.Close
118.
oucount = oucount + 1
119.
Next
120.

121.
Set objRange = objWorksheet.UsedRange
122.

123.
objRange.EntireColumn.Autofit()
124.
objExcel.Close
125.
wscript.echo "Fertig!"
Dann brauchst du noch eine txt - Datei im gleichen Ordner wie was vbs. Diese muss so aussehen:
01.
ou=ORGEINHEIT,dc=DOMÄNE
Damit gibst du an, welche Organisationseinheit gescannt werden kann.


Gruß
Dani
</code>
Bitte warten ..
Mitglied: volunteer1985
28.04.2006 um 08:53 Uhr
Hey Dani,
erstmal ein riesen Dankeschön...
werd das Programm so ummodeln das es die daten in eine csv datei schreibt....
Leider stimmt das bei mir mit der ou und der dc nicht... das problem hatte ich auch bei meinem Versuch das AD auszulesen... entweder der Admin hat mir die falsche ou und dc gegeben oder irgendwas anderes stimmt nicht.... (deine excel datei enthält bei mir auch nur die Überschriften)
wenn ich es über LDAP://rootDSE mache geht es aber dann hab ich alle und ich brauche nur eine ou....
Ahja eine Frage noch. In deiner ou.txt stehen
ou=ORGEINHEIT,dc=DOMÄNE ich habe scripte gesehen da steht:
LDAP://ou=ORGEINHEIT,dc=DOMÄNE,dc=de
warum brauch ich den letzten Parameter nicht??

MFG
Hagen
Bitte warten ..
Mitglied: Dani
28.04.2006 um 12:45 Uhr
Hi,
wenn du mir sagst, wenn in welcher Domäne du welche OU Einheit auslesen möchtest dann erstell ich dir mal n Beispiel draus. Das mit der Textdatei hat den Sinn, wenn du mehere Domänen bzw. OU-Einheiten durchsuchen möchtest.

Es kann ja auch nix kommen, da er deine Domäne oder OU vielleicht nicht findet!!


Gruß
Dani
Bitte warten ..
Mitglied: volunteer1985
02.05.2006 um 08:19 Uhr
Ähm vielen dank bin auf die PHP Variante umgeschwenkt die ist für einen Rookie glaub ich eher verständlich dafür hab ich mir mal das script aus eurem Forum geborgt:
https://www.administrator.de/Mittels_PHP_das_Windows_Active_Directory_au ...
aber irgendwie läufts schon besser hab ne connection(zum ist $binding =true).
Nur die Ausgabe ist eher bescheiden.
Nochmal der Code:
$basedn = "ou=benutzer,ou=trx,dc=abcde-ag,dc=de";
$server = "servername.trx.abcde-ag.de";
$username = "";
$password = "";
$connectid = ldap_connect($server);

echo "
connect id:".$connectid."
";
$binding = ldap_bind($connectid,$username,$password) or die("Fehler");

if ($binding==1)
{
echo "Verbindung erfolgreich hergestellt.
";
}
$filter="id=*";//<<<<<<meine Frage
$search = ldap_search($connectid,$basedn,$filter);
echo "Ergebnis der suche:".$search."
";
$result = ldap_get_entries($connectid,$search);
print_r($result);

die Ausgabe ist:
connect id:Resource id #1
Verbindung erfolgreich hergestellt.
Ergebnis der suche:Resource id #2
Array ( [count] => 0 )

Ich bin mir ziemlich sicher der fehler liegt in der zeile $basedn... da der server ja erkannt und mit ihm auch verbunden wird muss ich wohl irgenwas bei der ou oder dc falsch haben.
In unserm AD gibt einen Ordner(ou) benutzer darunter einen ordner trx(ou) sonst sieht die konstellation aus wie oben...
hat jm. ne idee woran es liegen könnte???

SR das ich so nerve.
MFG
Bitte warten ..
Ähnliche Inhalte
Windows 7
Welcher User war wann angemeldet Win7
gelöst Frage von MarcysWindows 78 Kommentare

Hallo zusammen, ich habe die Vermutung, dass ein Kollege das Domänen Admin Passwort kennt, da Änderungen an seinem PC ...

Samba

Neue user werden nur temporär angemeldet

Frage von hoecedSamba5 Kommentare

Guten Abend, ich habe mir eine Samba Server erstellt und hat auch alles soweit geklappt nur wenn ich neue ...

Windows Server

An welchem Gerät ist User angemeldet

gelöst Frage von lordofremixesWindows Server6 Kommentare

Hallo zusammen, ich möchte rausfinden, auf welchem PC ein bestimmter User angemeldet ist, vorhanden ist nur der Benutzername (Windows ...

Windows Userverwaltung

Welcher User ist an welchem Client angemeldet

gelöst Frage von BlueShadow9Windows Userverwaltung8 Kommentare

Hallo allerseits, dies ist mein erster Beitrag hier und ich sage gleich vorweg, dass ich nicht der grosse Crack ...

Neue Wissensbeiträge
Windows 10

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

Information von kgborn vor 13 MinutenWindows 10

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 2 StundenSicherheit1 Kommentar

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

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 2 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 6 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft25 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

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

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

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...