Вечерние люди,
отредактировано для ясности
Мне нужно получить GUID контроллера домена для запроса сертификата. У меня есть сценарий, предоставленный нашим ЦС, который будет генерировать запрос и извлекать GUID. чего я не понимаю, так это почему их команда выдает результат GUID, отличный от моего.
Их команда
([guid]((([directoryservices.directorysearcher] "(distinguishedname=$DistinguishedName)").findall())[0].properties.getenumerator() | ? { $_.name -eq "objectguid"}).value[0]).ToString('N')
моя команда
Get-ADDomainController | Select ServerObjectGuid
Оба они предоставляют GUID, который можно преобразовать обратно в контроллер домена, но какой из них является «правильным»?
На компьютере есть инструменты RSAT. Чего я не понимаю, так это почему один предоставляет другое руководство, чем другое. Разве это не должно быть то же самое, в этом смысл GUID (если я неправильно понимаю)
Это совсем другой гайд или у него те же пары гексов в другом порядке? См. этот вопрос для потенциального объяснения… stackoverflow.com/questions/38446421/…





ServerObjectGuid, возвращаемый Get-ADDomainController, представляет собой совершенно другой Guid, чем объект компьютера контроллера домена ObjectGuid, ServerObjectGuid — это GUID объекта, который содержит настройки NTDS из раздела конфигурации этого контроллера домена (это разные объекты в 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])
Я посмотрю на это. Не знаю, почему они не могут просто поставить одно и то же objectguid под свойствами get-addomaincontroller, но я ценю помощь в разъяснении!
Хах, не могу поверить - я лаял на другое дерево. Я предположил, что это может быть один и тот же двоичный guid, просто сериализованный в строку в другом порядке двумя разными инструментами, что и предлагал вопрос, на который я ссылался, для своего сценария… :-).
@mclayton справедливо, я неправильно прочитал ваш комментарий, а также пояснил, что на самом деле представляет собой этот GUID.
@Fitzgery надеюсь, что мое обновление проясняет, что на самом деле представляет собой этот GUID от Get-ADDomainController
@SantiagoSquarzon Я все проясняю и еще раз, как всегда, ценю помощь!
Единственный ответ здесь заключается в том, есть ли на компьютере, на котором выполняется сценарий, RSAT или нет. Если это не так, предоставленный вам сценарий является одним из способов сделать это. В противном случае гораздо проще просто использовать модуль AD, как вы это делаете.