Exporta todos os atributos do AD e o tamanho padrão "Range Upper" para a classe User?

2

Eu preciso escrever aproximadamente de 1.000 a 5.000 caracteres em uma propriedade do usuário, mas prefiro não editar o atributo RangeUpper do esquema ou criar um apenas para meus propósitos.

Como devo pesquisar quais atributos de usuário eu poderia adaptar para isso? Em outras palavras, como exportar todas as propriedades disponíveis para um usuário do AD e o valor correspondente do rangeUpper?

    
por random65537 30.03.2012 / 14:10

1 resposta

2

O PowerShell a seguir examinará a classe de usuário do esquema , pegue seu allowedAttributes attribute, procure a definição de cada atributo e retorne seu rangeUpper valor.

# Need the Microsoft AD PS module
Import-Module ActiveDirectory

# Get the user class definition, include "allowedAttributes"
$userClass = Get-ADObject -SearchBase ((Get-ADRootDSE).schemaNamingContext) -Filter { Name -eq "User" } -Properties allowedAttributes

# Walk the allowedAttributes array and sort into a table with "name" and "rangeUpper"
$userClass.allowedAttributes | 
  ForEach-Object { Get-ADObject -SearchBase ((Get-ADRootDSE).schemaNamingContext) -Filter { LDAPDisplayName -eq $_ } -Property rangeUpper } |
    Sort-Object Name |
      Format-Table -Property Name, rangeUpper

# If you want to only see defined "rangeUpper" values
$userClass.allowedAttributes | 
  ForEach-Object { Get-ADObject -SearchBase ((Get-ADRootDSE).schemaNamingContext) -Filter { LDAPDisplayName -eq $_ } -Property rangeUpper } |
    Where-Object { $_.rangeUpper } |
      Sort-Object Name |
         Format-Table -Property Name, rangeUpper
    
por 30.03.2012 / 14:58