我正在尝试导出受信任林的 AD 架构详细信息。我无法访问受信任林的域计算机。我没有受信任林的帐户。
我使用以下命令来提取我自己的森林的属性。
$schema = Get-ADObject -SearchBase ((Get-ADRootDSE).schemaNamingContext) `
-SearchScope OneLevel -Filter * -Property objectClass, name, whenChanged,`
whenCreated,description,attributeID, isDefunct | Select-Object objectClass, name, whenCreated, whenChanged, isDefunct, `
@{name="event";expression={($_.whenCreated).Date.ToShortDateString()}} | `
Sort-Object whenCreated
但是,当我提供受信任域的架构分区上下文时,Get-ADObject 不起作用。它给出了这样的错误。
Get-ADObject:提供的 distinguishedName 必须属于以下分区之一...列出我当前林的架构、配置和域分区。
我尝试使用目录服务方法。但这并没有提供如下详细信息修改时这是我们了解目录中架构变化的时间线所必需的。 谁能为我们提供一种全面的方法来查询受信任森林的模式?
$Forest = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", $ForestFQDN)
$Schema = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySchema]::GetSchema($Forest
$AllProperties = $Schema.FindAllProperties()
答案1
关于双向信任的信息可能会有所帮助,因为我们首先想到的是权限问题。
您的[System.DirectoryServices]
查询列出了列出的属性里面Schema,而不是 Schema LDAP 对象属性。您已经走得太远了。
$Forest = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", "$forestFQDN")
$Schema = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySchema]::GetSchema($Forest)
$s = $Schema.GetDirectoryEntry()
$s | fl whencreated,whenchanged
whenCreated : {2002-02-06 11:40:41}
whenchanged : {2021-05-17 21:10:06}
当然,如果$Schema.GetDirectoryEntry()
方法失败,可能仍然是权限问题。但如果您可以使用 定位对象GetSchema
,那就令人鼓舞了。
稍微调整的版本:
$Forest = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", "$forestFQDN")
$ForestObj = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest()
$Schema = $ForestObj.Schema.GetDirectoryEntry()