Inaktive Computer auslesen
Hallo
Wir verwenden Windows Server 2003
Ich suche ein Script oder Freeware Tool mit dem ich die AD auslesen kann.
Und zwar möchte ich Computer, welche sich seit X Tagen nicht mehr an der Domäne gemeldet haben, auflisten.
So sollte es mir dann möglich sein, die AD aufzuräumen sein.
Gibt es eine einfache Lösung dafür.
Danke für eure Hilfe
Wir verwenden Windows Server 2003
Ich suche ein Script oder Freeware Tool mit dem ich die AD auslesen kann.
Und zwar möchte ich Computer, welche sich seit X Tagen nicht mehr an der Domäne gemeldet haben, auflisten.
So sollte es mir dann möglich sein, die AD aufzuräumen sein.
Gibt es eine einfache Lösung dafür.
Danke für eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90852
Url: https://administrator.de/forum/inaktive-computer-auslesen-90852.html
Ausgedruckt am: 24.12.2024 um 12:12 Uhr
10 Kommentare
Neuester Kommentar
Hallo Chrone!
Sorry - kann ich nicht nachvollziehen.
Du kannst zwar zu Testzwecken am Anfang des Scripts vor "Option Explicit" ein REM schreiben oder in der angegebenen Zeile "Wscript." vor dem "Echo" weglassen, aber wenn Du nur das Festlegen des Filters in Zeile 105 geändert hast, sollte das Script eigentlich laufen.
Wie hast Du eigentlich das Script gestartet?
Grüße
bastla
Sorry - kann ich nicht nachvollziehen.
Du kannst zwar zu Testzwecken am Anfang des Scripts vor "Option Explicit" ein REM schreiben oder in der angegebenen Zeile "Wscript." vor dem "Echo" weglassen, aber wenn Du nur das Festlegen des Filters in Zeile 105 geändert hast, sollte das Script eigentlich laufen.
Wie hast Du eigentlich das Script gestartet?
Grüße
bastla
Hallo Chrone!
Dazu müsstest Du nur nach den "Dim"-Zeilen (etwa ab Zeile 46) einfügen:
und den Ausgabeteil
ändern auf
Grüße
bastla
Dazu müsstest Du nur nach den "Dim"-Zeilen (etwa ab Zeile 46) einfügen:
Dim intAlter, dtmStichtag
intAlter = 30 'Alter in Tagen
dtmStichtag = Date - intAlter
Wscript.Echo strUser & " ; " & objList.Item(strUser)
If objList.Item(strUser) < dtmStichtag Then
Wscript.Echo strUser & ";" & objList.Item(strUser)
End If
bastla
Hallo Chrone!
Ausgabeteil ersetzen durch:
Grüße
bastla
Ich habe zum Teil zwei Datums in einer Zeile. Kannst du mir eventuell erklären, welches Datum wofür steht?
Sollte eigentlich nur ein Datum (zumeist mit Uhrzeit) sein ...Kann man das Script eventuell anpassen, dass nur der Client-Name ohne "CN=" , die Description und das LastLogon-Datum angezeigt wird?
Deklarationen ergänzen (Zeile 47):Dim objUser, objProperty, strDesc
' Output latest lastLogon date for each user.
For Each strUser In objList.Keys
If objList.Item(strUser) < dtmStichtag Then
On Error Resume Next
objProperty = Null
Set objUser = GetObject("LDAP://" & strUser)
objProperty = objUser.Get("Description")
If IsNull(objProperty) Then strDesc = "no Description" Else strDesc = objProperty
On Error Goto 0
Wscript.Echo Split(Split(strUser, ",")(0), "=")(1) & ";" & strDesc & ";" & objList.Item(strUser)
End If
Next
bastla
Hallo Chrone!
Dazu brauchen wir eine weitere Variablendeklaration
und folgenden Ausgabeteil:
Genauer wäre übrigens die Ausgabe von "not disabled" anstelle von "enabled", da nur dieses Attribut abgefragt wurde ...
Grüße
bastla
Dazu brauchen wir eine weitere Variablendeklaration
Dim strStatus
' Output latest lastLogon date for each user.
For Each strUser In objList.Keys
If objList.Item(strUser) < dtmStichtag Then
On Error Resume Next
objProperty = Null
Set objUser = GetObject("LDAP://" & strUser)
objProperty = objUser.Get("Description")
If IsNull(objProperty) Then strDesc = "no Description" Else strDesc = objProperty
If objUser.userAccountControl AND 2 Then strStatus = "disabled" Else strStatus = "enabled"
On Error Goto 0
Wscript.Echo Split(Split(strUser, ",")(0), "=")(1) & ";" & strDesc & ";" & strStatus & ";" & objList.Item(strUser)
End If
Next
Grüße
bastla