Frage : ADFIND, DSQUERY oder LDAP Querie für das Ziehen von LastLogOn

Hallo Experten!

dieses ist vermutlich ein recht einfacher Antrag, da alles, das ich tun muss, die, folgenden Attribute für Benutzer/Computergegenstände in der ANZEIGE zu ziehen ist:

1.) DN Path
2.) UserPrincipleName
3.) DisplayName
4.) LastLogonTimeStamp
5.) WhenCreated

, was ich momentan habe, ist groß, gleichwohl mein Problem dieses ist, wenn ich das .CSV öffne, weil einige meiner OU aus wack heraus weil dort einige OU-Schichten tief geworfen werden, einige von ihnen 4 bis 6 tiefe Schichten.  So, wenn ich meine CSV Akte betrachte, die den erste Seite OU betrachtet, sehe ich, dass einige Anzeigennamen in der gleichen Spalte für das Sortieren von Art von schwierigem bildet, weil es über 70.000 Reihen von data.

adfind gibt - Rückstellung - gebissen - f „u. (objectcategory=person) (objectclass=user) (! userAccountControl: AND: =2)“ samaccountname userprincipalname displayname lastlogontimestamp whencreated - csv - tdca > c:\xxxx\xxxxx\LastLogonRep ort.csv


in einer vollkommenen Welt, was ich tun möchte, ist, das oben genannte Info in den netten ordentlichen Spalten (also in mir zu ziehen kann atleast sie sortieren) und in der Lage zu sein, zu spezifizieren, wie lang es seit dem gewesen ist, dass Benutzer angemeldet hat. d.h. wussten 30-60 Tage, Tag61-120 ect, ect… nicht, wenn dieser möglich war oder nicht und dann hatten selbstverständlich die Resultate, die heraus zu einer .CSV Akte geleitet wurden.  Wissen nicht, welche Abfragesprache bestes d.h. ADFIND, DSQUERY oder LDAP für dieses sein würde?

     

Antwort : ADFIND, DSQUERY oder LDAP Querie für das Ziehen von LastLogOn


O.K. so…

Die einfache Form der folgenden Frage ist diese:

- Ermöglicht - IncludedProperties LastLogonTimeStamp - SizeLimit 0 Erhalten-QADUser |
  Vorwählen-Gegenstand DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated |
  SomeFile.csv Exportieren-CSV

Der Code folgend ist verlängert diesen Befehl und addiert eine Spalte, die einen Zeitraum bezeichnet, als das Konto zuletzt anmeldete.

Alles ordentlich in den Spalten und hoffnungsvoll Sie erhalten die vollkommene Welt auch;)

Chirs
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
# erfordert Suche CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# der Abstand zwischen Daten. Produziert diese in der abschließenden Spalte: 0 bis 30; 30 bis 60, etc.
$DateRange = 30

# Gebrauch-Suche CmdLets, zum der Benutzer zu erhalten
- Ermöglicht - IncludedProperties lastLogonTimeStamp Erhalten-QADUser - SizeLimit 0 | % {
  # Einfluss auf dieses für Bequemlichkeit
  $LastLogon = $_.LastLogonTimeStamp

  # die IntervalString und Vervielfacherwerte zurückstellen
  # beginnt, indem nach Daten weniger als 30 Tage suchen alt, erhöht durch 30 auf jedem Durchlauf der Schleife
  $IntervalString = ""; $Multiplier = 1

  Wenn ($LastLogon - Ne $Null) {
    Tun {
      # sehen, wenn das LOGON-Datum nach dem spezifizierten Datum ist
      Wenn ($LastLogon - GT (Erhalten-Datum) .AddDays (- ($DateRange * $Multiplier))) {

        # Aufzeichnung dieser Wert als „0 bis 30“ oder „30 bis 60“, usw.
        $IntervalString = „$ ($DateRange * ($Multiplier - 1)) zu $ ($DateRange * $Multiplier)“
      }

      # Stufensprung der Vervielfacher
      $Multiplier++

    #, bis es einen Wert hat
    } Während ($IntervalString - eq "")
  } Sonst {
    $IntervalString = „N/A“
  }

  # den Ausgang erzeugen
  $ _ | Vorwählen-Gegenstand DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated, `
    @ {n='Range'; e= {$IntervalString}}
# Export es aller zu einem CSV
} | „SomeFile.csv“ - NoTypeInformation Exportieren-CSV
Weitere Lösungen  
 
programming4us programming4us