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, 5395 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
Batch & Shell

Wie finde ich heraus ob ein User an seinem Client lokal oder an der Domäne angemeldet ist?

gelöst Frage von minimalwerkBatch & Shell7 Kommentare

Hallo liebe Community, gibt es eine Möglichkeit herauszufinden ob sich ein User an seinem Client momenatn lokal oder an ...

Windows Userverwaltung

Abfrage welche User sich auf welchen Geräten angemeldet haben

Frage von oerdoerdWindows Userverwaltung3 Kommentare

Moin, gibt es eine Möglichkeit, im Idealfall per Powershell, abzufragen welcher User sich auf welchem Gerät angemeldet hat? Ich ...

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 ...

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 ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 10 StundenBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 2 TagenHumor (lol)5 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 2 TagenExchange Server8 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 3 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
Netzwerke
Netzwerk-Architektur mit VLANs
Frage von niLuxxNetzwerke44 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Ich werde in Kürze das Netzwerk unserer (sehr) kleinen Firma ...

Microsoft
Ist es möglich ein reines Volume C Datenbackup in eine Hyper-V VM zu konvertieren?
Frage von Frank84Microsoft10 Kommentare

Hallo zusammen, ich habe hier ein Backup vorliegen, das ausschließlich das komplette C:\ Volume eines physischen Server 2012 enthält. ...

Netzwerke
SSH - Wieso werde ich nach VPN Verbindung rausgeschmissen?
Frage von VernoxVernaxNetzwerke10 Kommentare

Hallo, ich habe es endlich geschafft mein Handy mit einer VPN Verbindung an meinen Router anzuschließen. Nach der Login ...

Windows Server
Freigaben per Default nur für Domänen-Benutzer
Frage von tierwoWindows Server8 Kommentare

Hallo gibt es eine Möglichkeit, einen Server 2016 so zu konfigurieren (z.B. per GPO), dass Freigaben die erstellt werden ...