Peter Kloep

A+ R A-

Erstellen von gespeicherten Abfragen

  • Hauptkategorie: FAQs
  • Kategorie: Windows Server
  • Zuletzt aktualisiert: Donnerstag, 28. März 2013 14:08
  • Veröffentlicht: Montag, 12. Februar 2007 11:24
  • Geschrieben von Peter Kloep
  • Zugriffe: 21955

Hier einige Beispiele für gespeicherte Abfragen in "Active Directory Benutzer und Computer"

Finde alle Computer, die ein BDC unter NT 4.0 sind 

(&(objectCategory=computer)(operatingSystemVersion=4*)(userAccountControl:1.2.840.113556.1.4.803:=8192))

Finde alle Gruppen, die eine Beschreibung haben 

(objCategory=group)(description=*) 

Finde alle Computer, die keine Beschreibung haben 
(objectCategory=computer)(!description=*) 
Finde alle Gruppen, die mit ITE oder GEM beginnen 
(objectCategory=group)(|(cn=ITE*)(cn=GEM*)) 
Finde alle Objekte, bei denen "Verkauf" als Abteilung, Beschreibung oder Firma ist 
(|(department=Sales)(company=Sales)(description=Verkauf))
 
Finde alle Benutzer, die nach dem 01.08.2004 erstellt wurden 

(objectCategory=user)(whenCreated>=20040801000000.0Z) 

Finde alle Benutzer ausser "Peter" 

(objectCategory=user)(!cn=peter*)

Finde alle Benutzer, die "beinnahe" gesperrt sind 

(objectCategory=user)(badPwdCount>=2) 

Finde alle Benutzer, die deaktiviert sind 

(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2)) 

Finde alle Benutzer, die in der Gruppe Helpdesk sind 

(objectCategory=user)(memberOf=CN=Helpdesk,OU=IT-Abteilung,DC=kloep,DC=IT) 

Finde alle Benutzer, die eine eMail Adresse haben (unabhängig von Exchange) 

(objectClass=user)(mail=*) 

Finde alle Benutzer, deren eMail Attribute gesetzt sind (email aktiviert) 

(objectClass=user)(email=*) 

Finde alle Benutzer, die ihr Passwort seit dem 05.02.2004 nicht mehr geändert haben 

(&(objectCategory=person)(objectClass=user)(pwdLastSet<=127204308000000000)) 

Finde alle Benutzer, die sich noch nie angemeldet haben 

(&(objectCategory=person)(objectClass=user))(|(lastLogon=0)(!(lastLogon=*))) 

Finde alle Benutzer, die bei der nächsten Anmeldung ihr Passwort ändern müssen 

(objectCategory=user)(msNPAllowDialin=TRUE) 

Finde alle Benutzer, deren Passwort niemals abläuft 
(objectcategory=user)(userAccountControl:1.2.840.113556.1.4.803:=65536) 
Finde alle Benutzer, die sich mit SmartCard anmelden müssen 

(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=262144)) 

Finde alle Benutzer, die eine permanente Mail-Weiterleitung im Active Directory aktiviert haben 

(objectCategory=person)(objectClass=user)(altRecipient=*) 

Finde alle Benutzer, die einen Aladding Key im TMS zugewiesen haben 

(objectCategory=person)(objectClass=user)(akstmstokens=*) 

Bemerkungen:

"&" bedeutet UND
"|" bedeutet ODER
"!" bedeutet NICHT
"*" bedeutet BELIEBIGE ZEICHEN
">=" bedeutet GRÖSSER ODER GLEICH ALS

Skript, um ein Datum in das entsprechende Format umzurechnen:

' DateToInteger8.vbs
' VBScript program demonstrating how to convert a datetime value to
' the corresponding Integer8 (64-bit) value. The Integer8 value is the
' number of 100-nanosecond intervals since 12:00 AM January 1, 1601,
' in Coordinated Universal Time (UTC). The conversion is only accurate
' to the nearest second, so the Integer8 value will always end in at
' least 7 zeros.
'
' ----------------------------------------------------------------------
' Copyright (c) 2004 Richard L. Mueller
' Hilltop Lab web site - http://www.rlmueller.net
' Version 1.0 - June 11, 2004
'
' You have a royalty-free right to use, modify, reproduce, and
' distribute this script file in any way you find useful, provided that
' you agree that the copyright owner above has no warranty, obligations,
' or liability for such use.

Option Explicit

Dim dtmDateValue, dtmAdjusted, lngSeconds, str64Bit
Dim objShell, lngBiasKey, lngBias, k

If Wscript.Arguments.Count <> 1 Then
  Wscript.Echo "Required argument <DateTime> missing"
  Wscript.Echo "For example:"
  Wscript.Echo ""
  Wscript.Echo "cscript DateToInteger8.vbs ""2/5/2004 4:58:58 PM"""
  Wscript.Echo ""
  Wscript.Echo "If the date/time value has spaces, enclose in quotes"
  Wscript.Quit
End If

dtmDateValue = CDate(Wscript.Arguments(0))

' Obtain local Time Zone bias from machine registry.
Set objShell = CreateObject("Wscript.Shell")
lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\" _
  & "TimeZoneInformation\ActiveTimeBias")
If UCase(TypeName(lngBiasKey)) = "LONG" Then
  lngBias = lngBiasKey
ElseIf UCase(TypeName(lngBiasKey)) = "VARIANT()" Then
  lngBias = 0
  For k = 0 To UBound(lngBiasKey)
    lngBias = lngBias + (lngBiasKey(k) * 256^k)
  Next
End If

' Convert datetime value to UTC.
dtmAdjusted = DateAdd("n", lngBias, dtmDateValue)

' Find number of seconds since 1/1/1601.
lngSeconds = DateDiff("s", #1/1/1601#, dtmAdjusted)

' Convert the number of seconds to a string
' and convert to 100-nanosecond intervals.
str64Bit = CStr(lngSeconds) & "0000000"
Wscript.Echo "Integer8 value: " & str64Bit