Pergunta : ADFIND, DSQUERY ou LDAP Querie para puxar LastLogOn

Olá! peritos! o

isto é provavelmente um pedido consideravelmente fácil porque tudo que eu preciso de fazer é puxar os seguintes atributos para usuários/objetos do computador no ANÚNCIO: o

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

o que eu tenho presentemente é grande, porém meu problema é este quando eu abro o .CSV porque algumas de minhas OU estão jogadas fora do wack porque lá diversas camadas da OU profundamente, algumas delas 4 a 6 camadas profundas.  Assim quando eu olho minha lima de CSV que olha a OU do nível superior eu verei que alguns nomes da exposição na mesma coluna fazem classificando a sorte de difícil porque há sobre 70.000 fileiras de data.

adfind - defeito - mordidas - f “& (objectcategory=person) (objectclass=user) (! userAccountControl: AND: ) do” o tdca do displayname do userprincipalname samaccountname =2 - csv - > o ort.csv


em um mundo perfeito, o que de c:\xxxx\xxxxx\LastLogonRep eu goste de fazer são puxar a informação acima em colunas puras agradáveis (assim que no mim pode o atleast os classificar) e poder especific quanto tempo tem sido desde que o usuário entrou. isto é 30-60 dias, ect dos dias 61-120, ect… não souberam se este era possível ou não e então naturalmente não tiveram os resultados conduzidos para fora a uma lima de .CSV.  Não sabem que língua de pergunta seria o melhor isto é ADFIND, DSQUERY ou LDAP para esta?

     
class= do

Resposta : ADFIND, DSQUERY ou LDAP Querie para puxar LastLogOn


Aprovação assim…

O formulário simples da pergunta abaixo é este:

Começ-QADUser - permitido - IncludedProperties LastLogonTimeStamp - SizeLimit 0 |
  Selecionar-Objeto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated |
  Exportar-CSV SomeFile.csv

O código abaixo estende este comando, adicionando uma coluna que denota um período em que o cliente entrar por último.

Tudo ordenadamente nas colunas, e, esperançosamente, você começ o mundo perfeito demasiado;)

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:
# exige a procura CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# o intervalo entre datas. Produzirá estes na coluna final: 0 a 30; 30 a 60, etc.
$DateRange = 30

# procura CmdLets do uso para começ os usuários
Começ-QADUser - permitido - o lastLogonTimeStamp de IncludedProperties - SizeLimit 0 | % {
  # sustentar isto para a conveniência
  $LastLogon = $_.LastLogonTimeStamp

  # restaurar os valores de IntervalString e de multiplicador
  # começa procurando datas menos de 30 dias velho, incrementado por 30 em cada passagem do laço
  $IntervalString = ""; $Multiplier = 1

  Se ($LastLogon - ne $Null) {
    Fazer {
      # ver se a data do início de uma sessão se realiza após a data especific
      Se ($LastLogon - GT (Começ-Data) .AddDays (- ($DateRange * $Multiplier))) {

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

      # incremento o multiplicador
      $Multiplier++

    # até que tiver um valor
    } Quando ($IntervalString - "" do eq)
  } Mais {
    $IntervalString = “N/A”
  }

  # gerar a saída
  $ do _ | Selecionar-Objeto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated, `
    @ {e= do n='Range'; {$IntervalString}}
# exportação ele todo a um CSV
} | Exportar-CSV “SomeFile.csv” - NoTypeInformation
Outras soluções  
 
programming4us programming4us