powershell 为什么这些命令为域控制器GUID提供不同的值?

eh57zj3b  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(191)

晚上的朋友们,

为清晰起见而编辑

我必须获取证书请求的域控制器GUID。我有一个由我们的CA提供的脚本,它将生成请求并提取GUID。我不明白的是,为什么他们的命令生成的GUID结果与我的不同
他们的指挥权

([guid]((([directoryservices.directorysearcher] "(distinguishedname=$DistinguishedName)").findall())[0].properties.getenumerator() | ? { $_.name -eq "objectguid"}).value[0]).ToString('N')

我的指挥权

Get-ADDomainController | Select ServerObjectGuid

它们都提供了可以转换回域控制器的GUID,但是哪一个是“正确的”呢?

smdncfj3

smdncfj31#

Get-ADDomainController返回的ServerObjectGuid是与域控制器的计算机对象ObjectGuid完全不同的GUID,ServerObjectGuid是包含该域控制器配置分区中的NTDS设置的对象的GUID(这些是Active Directory中的不同对象,因此属于不同的对象类因此不同的GUID)。

$dc = Get-ADDomainController myDC
(Get-ADObject $dc.ServerObjectDN).ObjectGuid -eq $dc.ServerObjectGuid # True

如果你想把苹果和苹果进行比较,我会这么做:

$dn = 'CN=myDC,OU=Domain Controllers,DC=domain,DC=com'
(Get-ADObject -Filter "distinguishedName -eq '$dn'").ObjectGuid
$dn = 'CN=myDC,OU=Domain Controllers,DC=domain,DC=com'
[guid]::new(([adsisearcher] "(distinguishedName=$dn)").FindOne().Properties['objectGuid'][0])

相关问题