导出用户类的所有 AD 属性和默认“范围上限”大小?

导出用户类的所有 AD 属性和默认“范围上限”大小?

我需要在用户属性中写入大约 1000 - 5000 个字符,但我不想编辑架构 rangeUpper 属性,或者只是为了我的目的而创建一个。

我应该如何研究可以为此重新利用哪些用户属性?换句话说,如何导出 AD 用户可用的所有属性以及相应的 rangeUpper 值?

答案1

以下 PowerShell 将查看架构的用户类别,抓住它的allowedAttributes属性,然后查找每个属性的定义并返回其rangeUpper价值。

# 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

相关内容