Questione : VBScript: Trazione del lastLogonTimestamp

Ciao esperti!

ho la funzionalità di che cosa sto avendo bisogno all'interno di un DSQUERY e di un PowerShell, comunque penso che necessità di essere fatto nel mio caso particolare è di rompere il percorso di DN giù negli allineamenti in modo che ogni livello del OU sia leggibile.  Per esempio, i risultati attuali archivano che ho per questo contengo approssimativamente intorno alle file 75k ed il percorso di DN può anwhere medio da 3 a 6 OU profondi.  Così il che conclude in su l'avvenimento è che alcuni degli altri dati della colonna si troveranno in una colonna del OU o persino in un'altra colonna, in modo da quando vado fascicolare getta l'intero affare fuori.  Correttamente analizzando i OU in un allineamento o in una certa specie del funtion di spaccatura che allineerà ogni OU in su nelle colonne correttamente.  I dati non stanno essendo basicamente columned correttamente durante alcuno dello spreadsheet.

in modo da con questo scritto stavo volendo tirare il sAMAccountName, il DisplayName, il UPN e il LogonTimestamp per ogni utente attivo nel mio ambiente dell'ANNUNCIO.  il

che le lime di risultato del presente che sto ottenendo posteriore sono nella disposizione di .CSV che comprende il virgola nel percorso di DN, in modo da in esso è difficile da separarli per distinguere i OU.  Così allora ho convertito il CSV in TSV ed allora ho regolato l'operatore speciale come “,„ nell'importazione ed in questa separare le colonne del OU fuori, ma ho detto a causa di quanto in profondità i OU vanno, esso che induce alcuni degli altri dati cioè UPN, il sAMAccountName, LogonTimestamps per rinviare in altre colonne.    Tutto l'aiuto con questo notevolmente è apprezzato.  
class= del

Risposta : VBScript: Trazione del lastLogonTimestamp


Realmente l'uso della lista dei BU ha bisogno di piccola modifica di impedirlo che è orribile non fidata.

Ciò è la modifica:

ForEach ($Name in $BU) {se ($_.DN - abbinare “OU=$Name, ") {$Name}}

Con l'originale lo avrebbe abbinato ad ESSO se il vostro nome includesse quello, con questo che abbinerà soltanto se il nome completo del OU è ESSO (quindi il prefisso di OU= e, suffisso).

Chris
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:
38:
39:
40:
41:
# richiede la ricerca CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# lista della divisione di affari
$BU = “finanze„, “vendite„, “introducendo„, “ESSO„, “sviluppo„

# l'intervallo fra le date. Produrrà questi nella colonna finale: 0 - 30; 30 - 60, ecc.
$DateRange = 30

# ricerca CmdLets di uso per ottenere gli utenti
Ottenere-QADUser - permesso a - il lastLogonTimeStamp di IncludedProperties - SizeLimit 0 | % {
  # stretta su questo per convenienza
  $LastLogon = $_.LastLogonTimeStamp

  # ripristinare i valori di moltiplicatore e di IntervalString
  # inizia cercando le date vecchio i meno di 30 giorni, incrementato da 30 su ogni passaggio del ciclo
  $IntervalString = ""; $Multiplier = 1

  Se ($LastLogon - Ne $Null) {
    Fare {
      # vedere se la data di inizio attività ha luogo dopo la data specificata
      Se ($LastLogon - GT (Ottenere-Data) .AddDays (- ($DateRange * $Multiplier))) {

        # annotazione questo valore come “0 - 30„, o “30 - 60„, ecc
        $IntervalString = “$ ($DateRange * ($Multiplier - 1)) a $ ($DateRange * $Multiplier)„
      }

      # incremento il moltiplicatore
      $Multiplier++

    # fino a che non abbia un valore
    } Mentre ($IntervalString - "" del eq)
  } Altrimenti {
    $IntervalString = “N/A„
  }

  # generare l'uscita
  $ di _ | Selezionare-Oggetto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
    @ {e= del n='BusinessUnit'; {ForEach ($Name in $BU) {se ($_.DN - abbinare “OU=$Name, ") {$Name}}}},
    @ {e= del n='Range'; {$IntervalString}}
# esportazione esso tutto ad un CSV using la linguetta come delimitatore
} | Esportare-CSV il `t del delimitatore “di SomeFile.csv„ - NoTypeInformation -
Altre soluzioni  
 
programming4us programming4us