Vraag : ADFIND, DSQUERY of LDAP Querie voor het Trekken van LastLogOn

Hello Deskundigen!

dit is waarschijnlijk een vrij gemakkelijk verzoek aangezien al behoefte van I te doen trekkracht de volgende attributen voor gebruikers/computervoorwerpen in ADVERTENTIE is:

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

Wat weldra heb ik is groot, nochtans is mijn probleem dit wanneer ik .CSV open omdat sommige van mijn OU uit wack omdat daar verscheidene OU lagen diep, wat van hen 4 tot 6 lagen diep worden geworpen.  Zo wanneer ik mijn Csv- dossier bekijkend hoogste niveauOU bekijk die ik een paar vertoningsnamen in de zelfde kolom maakt voor sorterende soort van moeilijk zal zien omdat er zijn meer dan 70.000 rijen van data.

adfind - gebrek - beetje - F „& (objectcategory=person) (objectclass=user) (! userAccountControl: AND: =2)“ samaccountname userprincipalname displayname lastlogontimestamp whencreated - csv - tdca > c:\xxxx\xxxxx\LastLogonRep ort.csv


in een perfecte wereld, wat ik zou willen doen ben trekkracht bovengenoemde info in aardige keurige kolommen (zodat kan ik atleast hen sorteren) en kunnen specificeren hoe lang het is geweest aangezien die gebruiker het programma heeft geopend. d.w.z. wisten 30-60 dagen, 61-120 dagen ect, ect… niet of die was dit mogelijk of niet en heeft dan natuurlijk de resultaten uit aan een .CSV dossier door buizen worden geleid.  Welke niet vraagtaal d.w.z. ADFIND, DSQUERY of weten LDAP voor dit best zou zijn?

     

Antwoord : ADFIND, DSQUERY of LDAP Querie voor het Trekken van LastLogOn


O.k. zo…

De eenvoudige vorm van de vraag is hieronder dit:

Toegelaten krijgen-QADUser - - IncludedProperties LastLogonTimeStamp - SizeLimit 0 |
  Uitgezocht-voorwerp DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated |
  Uitvoer-CSV SomeFile.csv

De code breidt hieronder dit bevel uit, toevoegend een kolom aanduidend een periode wanneer het programma geopend rekenings laatste.

Alles keurig in kolommen, en, hopelijk, u wordt ook de perfecte wereld;)

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:
36:
37:
# Vereist Zoektocht CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# Het interval tussen data. Deze in de definitieve kolom zal produceren: 0 tot 30; 30 tot 60, enz.
$DateRange = 30

# De Zoektocht CmdLets van het gebruik om de gebruikers te krijgen
Toegelaten krijgen-QADUser - - IncludedProperties lastLogonTimeStamp - SizeLimit 0 | % {
  # Greep op dit voor gemak
  $LastLogon = $_.LastLogonTimeStamp

  # Stel de waarden van IntervalString en van de Multiplicator terug
  # Dateert het begin door te zoeken minder dan 30 oude dagen, verhoogd door 30 op elke pas van de lijn
  $IntervalString = ""; $Multiplier = 1

  Als ($LastLogon - Ne $Null) {
    {
      # Zie of is de openings van een sessiedatum na de gespecificeerde datum
      Als ($LastLogon - GT (krijgen-Datum) .AddDays (- ($DateRange * $Multiplier))) {

        # Registreer deze waarde als „0 tot 30“, of „30 tot 60“, enz.
        $IntervalString = „$ ($DateRange * ($Multiplier - 1)) aan $ ($DateRange * $Multiplier)“
      }

      # Toename de multiplicator
      $Multiplier++

    # Tot het een waarde heeft
    } Terwijl ($IntervalString - eq "")
  } Anders {
    $IntervalString = „N/A“
  }

  # Produceer de output
  $ _ | Uitgezocht-voorwerp DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated, `
    @ {n='Range'; e= {$IntervalString}}
# De uitvoer het allen naar een CSV
} | Uitvoer-CSV „SomeFile.csv“ - NoTypeInformation
Andere oplossingen  
 
programming4us programming4us