Cuestión : VBScript: Tracción del lastLogonTimestamp

¡Hola expertos! el

tengo la funcionalidad de lo que estoy necesitando dentro de un DSQUERY y de un PowerShell, no obstante pienso qué necesidades de ser hecho en mi caso particular es de romper la trayectoria del DN abajo en órdenes de modo que cada nivel del OU sea legible.  Por ejemplo, los actuales resultados archivan que tengo para esto contengo áspero alrededor de las filas 75k y la trayectoria del DN puede el anwhere medio a partir del 3 a 6 OU profundos.  Tan qué termina para arriba el suceso es que algunos de los otros datos de la columna se encontrarán en una columna del OU u otra columna, así que cuando voy a clasificar lanza los asuntos apagado.  Correctamente analizando a los OU en un arsenal o una cierta clase de funtion de la fractura que alineará a cada OU para arriba en las columnas correctamente.  Los datos no están siendo básicamente columned correctamente a través de algo del spreadsheet.

así que con esta escritura estaría queriendo tirar del sAMAccountName, del DisplayName, del UPN y del LogonTimestamp para cada usuario activo en mi ambiente del ANUNCIO.  el

que los archivos del resultado del presente que estoy consiguiendo trasero están en el formato de .CSV que incluye la coma en la trayectoria del DN, así que ella es difícil separarla para distinguir a los OU.  Entonces convertí tan el CSV a un TSV y después fijé a operador especial como “,” en la importación y ésta separar las columnas del OU hacia fuera, pero como dije debido a cómo profundamente van los OU, él que hacía algunos de los otros datos es decir UPN, sAMAccountName, LogonTimestamps para transportar en otras columnas.    Cualquier ayuda con esto se agradece grandemente.  
class= del

Respuesta : VBScript: Tracción del lastLogonTimestamp


El uso de la lista de los BU necesita realmente una pequeña modificación prevenirla que es horrible no fiable.

Ésta es la modificación:

ForEach ($Name en $BU) {si ($_.DN - emparejar “OU=$Name, ") {$Name}}

Con la original le habría emparejado a ÉL si su nombre incluyó eso, con esto que emparejará solamente si el nombre completo del OU es ÉL (por lo tanto el prefijo de OU= y, sufijo).

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:
# requiere la búsqueda CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# lista de la unidad de negocio
$BU = “finanzas”, “ventas”, “poniendo”, “ÉL”, “desarrollo”

# el intervalo entre las fechas. Producirá éstos en la columna final: 0 a 30; 30 a 60, etc.
$DateRange = 30

# búsqueda CmdLets del uso para conseguir a los usuarios
Conseguir-QADUser - permitido - el lastLogonTimeStamp de IncludedProperties - SizeLimit 0 | % {
  # asimiento sobre esto para la conveniencia
  $LastLogon = $_.LastLogonTimeStamp

  # reajustar los valores de IntervalString y del multiplicador
  # comienza buscando fechas menos de 30 días de viejo, incrementado por 30 en cada paso del lazo
  $IntervalString = ""; $Multiplier = 1

  Si ($LastLogon - ne $Null) {
    Hacer {
      # ver si la fecha de la conexión es después de la fecha especificada
      Si ($LastLogon - GT (Conseguir-Fecha) .AddDays (- ($DateRange * $Multiplier))) {

        # expediente este valor como “0 a 30”, o “30 a 60”, etc
        $IntervalString = “$ ($DateRange * ($Multiplier - 1)) a $ ($DateRange * $Multiplier)”
      }

      # incremento el multiplicador
      $Multiplier++

    # hasta que tenga un valor
    } Mientras que ($IntervalString - "" del eq)
  } {
    $IntervalString = “N/A”
  }

  # generar la salida
  $ de _ | Seleccionar-Objeto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
    @ {e= del n='BusinessUnit'; {ForEach ($Name en $BU) {si ($_.DN - emparejar “OU=$Name, ") {$Name}}}},
    @ {e= del n='Range'; {$IntervalString}}
# exportación él todo a un CSV usar lengüeta como delimitador
} | Exportar-CSV el `t del delimitador de “SomeFile.csv” - NoTypeInformation -
Otras soluciones  
 
programming4us programming4us