Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Inaktive Computer auslesen

Frage Microsoft Windows Server

Mitglied: Chrone

Chrone (Level 1) - Jetzt verbinden

28.06.2008, aktualisiert 30.06.2008, 5139 Aufrufe, 10 Kommentare

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
Mitglied: bastla
28.06.2008 um 19:32 Uhr
Hallo Chrone!

Sieh Dir mal OldCmp an ...

... bzw die Script-Lösungen hier.
Anmerkung zu den Scripts: Da hier ja Computer abgefragt werden sollen, ist die Zeile
01.
strFilter = "(&(objectCategory=person)(objectClass=user))"
zu ändern auf
01.
strFilter = "(objectCategory=computer)"
Grüße
bastla
Bitte warten ..
Mitglied: Chrone
28.06.2008 um 21:00 Uhr
Ich habe Script 1 zu 1 kopiert.
Dann habe ich es nochmals angepasst auf "computer".

Ich erhalte dann bei beiden Scripts den Fehler "Die Variable ist nicht definiert Wscript" bei folgender Zeile:
Wscript.Echo strUser & " ; " & objList.Item(strUser)

Hast du eine Idee woher dies kommt?
Bitte warten ..
Mitglied: bastla
28.06.2008 um 21:24 Uhr
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
Bitte warten ..
Mitglied: Chrone
29.06.2008 um 13:41 Uhr
Hallo Bastla

Nun funktioniert es.
Habe das Script zu erst im SimplexParser ausgeführt. Da funktionierte es nicht.

Wenn ich das Script in eine VBS-Datei speichere dann klappt es.

Mit cscript *.vbs > computer.txt kann ich die Informationen in eine Datei schreiben.

Gibt es vielleicht eine einfach Variante, dass nur Computer angezeigt werden mit einem Logon-Datum mehr als 30 Tagen?
Habe leider keine Ahnung von VBScript und Datums-Abfragen.


Gruss
Chrone
Bitte warten ..
Mitglied: bastla
29.06.2008 um 18:27 Uhr
Hallo Chrone!

Dazu müsstest Du nur nach den "Dim"-Zeilen (etwa ab Zeile 46) einfügen:
01.
Dim intAlter, dtmStichtag 
02.
 
03.
intAlter = 30 'Alter in Tagen 
04.
dtmStichtag = Date - intAlter
und den Ausgabeteil
01.
Wscript.Echo strUser & " ; " & objList.Item(strUser)
ändern auf
01.
If objList.Item(strUser) < dtmStichtag Then 
02.
    Wscript.Echo strUser & ";" & objList.Item(strUser) 
03.
End If
Grüße
bastla
Bitte warten ..
Mitglied: Chrone
29.06.2008 um 23:06 Uhr
Danke, funktioniert perfekt.


Vielen Dank für dein Hilfe

Gruss
Chrone
Bitte warten ..
Mitglied: Chrone
30.06.2008 um 08:38 Uhr
Hallo Bastla

Ich habe zum Teil zwei Datums in einer Zeile. Kannst du mir eventuell erklären, welches Datum wofür steht?

Kann man das Script eventuell anpassen, dass nur der Client-Name ohne "CN=" , die Description und das LastLogon-Datum angezeigt wird?

Besten Dank und Gruss
Chrone
Bitte warten ..
Mitglied: bastla
30.06.2008 um 10:33 Uhr
Hallo Chrone!

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):
01.
Dim objUser, objProperty, strDesc
Ausgabeteil ersetzen durch:
01.
' Output latest lastLogon date for each user. 
02.
For Each strUser In objList.Keys 
03.
    If objList.Item(strUser) < dtmStichtag Then 
04.
        On Error Resume Next 
05.
        objProperty = Null 
06.
        Set objUser = GetObject("LDAP://" & strUser) 
07.
        objProperty = objUser.Get("Description") 
08.
        If IsNull(objProperty) Then strDesc = "no Description" Else strDesc = objProperty 
09.
        On Error Goto 0 
10.
        Wscript.Echo Split(Split(strUser, ",")(0), "=")(1) & ";" & strDesc & ";" & objList.Item(strUser) 
11.
    End If 
12.
Next
Grüße
bastla
Bitte warten ..
Mitglied: Chrone
30.06.2008 um 12:48 Uhr
Hallo Bastla

Vielen vielen Dank.

Ich weiss nun weshalb zwei Daten angezeigt werden. Das sind Clients mit zwei Netzwerkkarten.

Kann man noch abfragen, ob der Client aktiv oder disabled ist?

gruss
Chrone
Bitte warten ..
Mitglied: bastla
30.06.2008 um 14:07 Uhr
Hallo Chrone!

Dazu brauchen wir eine weitere Variablendeklaration
01.
Dim strStatus
und folgenden Ausgabeteil:
01.
' Output latest lastLogon date for each user. 
02.
For Each strUser In objList.Keys 
03.
    If objList.Item(strUser) < dtmStichtag Then 
04.
        On Error Resume Next 
05.
        objProperty = Null 
06.
        Set objUser = GetObject("LDAP://" & strUser) 
07.
        objProperty = objUser.Get("Description") 
08.
        If IsNull(objProperty) Then strDesc = "no Description" Else strDesc = objProperty 
09.
        If objUser.userAccountControl AND 2 Then strStatus = "disabled" Else strStatus = "enabled" 
10.
        On Error Goto 0 
11.
        Wscript.Echo Split(Split(strUser, ",")(0), "=")(1) & ";" & strDesc & ";" & strStatus & ";" & objList.Item(strUser) 
12.
    End If 
13.
Next
Genauer wäre übrigens die Ausgabe von "not disabled" anstelle von "enabled", da nur dieses Attribut abgefragt wurde ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Problem Auslesen einer Internetseite mit Powershell (11)

Frage von c20082005 zum Thema Batch & Shell ...

Erkennung und -Abwehr
gelöst Computer für Datenannahme (6)

Frage von werner1966 zum Thema Erkennung und -Abwehr ...

Windows Server
gelöst Computer finden den neuen WSUS nicht (41)

Frage von PizzaPepperoni zum Thema Windows Server ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (31)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...