Dsquery filtern nach Betriebssystem, nur aktive Konten, die in den letzten 90 Tagen aktiv waren?
Hallo,
ich will alle Windows 2003 Server, die nicht deaktiviert sind und die in den letzten 90 Tagen aktiv waren.
Das hab ich bis jetzt:
Alle Computerkonten, die länger als 90 Tage inaktive waren:
"dsquery computer -stalepwd 90 -name *"
Alle aktiven Windows 2003 Server.
dsquery * -filter "(&(objectClass=computer)(operatingSystemVersion=5.2*)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
Kann man die kombinieren oder wie kann man das sonst lösen. Es dürfte auch eine Abfrage im dsa.msc sein.
Danke
Martin
ich will alle Windows 2003 Server, die nicht deaktiviert sind und die in den letzten 90 Tagen aktiv waren.
Das hab ich bis jetzt:
Alle Computerkonten, die länger als 90 Tage inaktive waren:
"dsquery computer -stalepwd 90 -name *"
Alle aktiven Windows 2003 Server.
dsquery * -filter "(&(objectClass=computer)(operatingSystemVersion=5.2*)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
Kann man die kombinieren oder wie kann man das sonst lösen. Es dürfte auch eine Abfrage im dsa.msc sein.
Danke
Martin
Please also mark the comments that contributed to the solution of the article
Content-Key: 134511
Url: https://administrator.de/contentid/134511
Printed on: April 23, 2024 at 13:04 o'clock
6 Comments
Latest comment
Hallo AlbertMinrich!
Unter Verwendung von Temporärdateien ungetestet etwa so:
Grüße
bastla
Unter Verwendung von Temporärdateien ungetestet etwa so:
@echo off & setlocal
set "Active=D:\Active.txt"
set "Inactive=%temp%Iinactive.txt"
set "Servers=%temp%\Servers.txt"
dsquery computer -stalepwd 90 -name *>"%Inactive%"
dsquery * -filter "(&(objectClass=computer)(operatingSystemVersion=5.2*)(!userAccountControl:1.2.840.113556.1.4.803:=2))">"%Servers%"
findstr /v /i /g:"%Inactive%" "%Servers%">"%Active%"
bastla
Servus,
versuche es mal mit diesem ungetesteten Befehl (alles in einer Zeile):
dsquery * -Filter "(&(&(objectCategory=Computer)(operatingSystem=Windows Server 2003)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)(LastLogonTimeStamp<=129015642047040000)))"
Im Übrigen kannst du die Zeiten bzw. Large Integer Werte auf dieser Seite umrechnen lassen:
[Timestamp: Unix- und Microsoft Windows / Active Directory (LDAP)-Zeit umrechnen]
http://www.redhelp.de/de.php
Viele Grüße
/ > Yusuf Dikmenoglu
versuche es mal mit diesem ungetesteten Befehl (alles in einer Zeile):
dsquery * -Filter "(&(&(objectCategory=Computer)(operatingSystem=Windows Server 2003)(!useraccountcontrol:1.2.840.113556.1.4.803:=2)(LastLogonTimeStamp<=129015642047040000)))"
Im Übrigen kannst du die Zeiten bzw. Large Integer Werte auf dieser Seite umrechnen lassen:
[Timestamp: Unix- und Microsoft Windows / Active Directory (LDAP)-Zeit umrechnen]
http://www.redhelp.de/de.php
Viele Grüße
/ > Yusuf Dikmenoglu
Wie er leibt und lebt!
dann nochmal Danke für die Seite.
Freut mich zu hören. Zumindest weiß ich jetzt, dass mindestens einer (also du) die Seite kennt und liest.
Gibt´s auch eine Möglichkeit, bei einer Abfrage auf Windows 2003 Server zu unterscheiden zwischen Standard und Enterprise?
Zumindest nicht über eine "normale" AD-Abfrage wie z.B. mit dsquery. Denn unter Windows Server 2003 sind die Attribute:
- operatingSystem
- operatingSystemVersion
zwischen der Standard- und Enterprise-Version unter Windows Server 2003 identisch.
Bei Windows 2000 zwischen Server und Professional.
[LDAP:Yusufs.Directory.Blog/ - Den OS- und SP-Stand abfragen]
http://blog.dikmenoglu.de/Den+OS+Und+SPStand+Abfragen.aspx
Bei Windows NT (ja, immer noch) zwischen Server und Workstation.
Auhaa... doch noch NT. Das ist nun wirklich zu lange her. Aber das kannst du ganz einfach herausfinden.
Überprüfe in der MMC "AD-Benutzer und -Computer" in den Eigenschaften eines NT-Servers und einer NT-Workstation was im Reiter "Betriebssystem" in den Feldern
"Name" und "Version" steht. Hinter dem Feldnamen "Name" steckt das Attribut "operatingSystem" und hinter dem Feld
"Version" steckt das Attribut "operatingSystemVersion". Anschließend kannst du mit dem o.g. Link deinen Filter bauen.
[LDAP:Yusufs.Directory.Blog/ - Die Active Directory-Attribute hinter den Feldnamen]
http://blog.dikmenoglu.de/Die+Active+DirectoryAttribute+Hinter+Den+Feld ...
Gruß, Yusuf