Вопрос

Я пытаюсь преобразовать один из моих сценариев PS, чтобы запросить объявление с помощью quest AD вместо собственных инструментов для ускорения обработки.

Во время моего тестирования я пришел к выводу, что свойство MSExchmailBoxGuid возвращается в формате, который мне нужно для преобразования.

Это команда, которую я бегу для тестирования:

$LDAPQuery = "(&(HomeMDB=*)(objectClass=user))"
$OUPath = "OU=users,DC=domain,DC=com"

$SearchResults = Get-QadUser -LdapFilter $LDAPQuery -SearchRoot $OUPath -ShowProgress -SizeLimit 1 -IncludedProperties "msExchMailboxGuid"
.

значение msexchmailboxguid возвращается как это:

[PS] C:\Users\sysadmin>$SearchResults | Select msExchMailboxGuid

msExchMailboxGuid
-----------------
35CAF894943052409B77F30A6F8D40B4
.

Если я запускаю это, он возвращает:

[PS] C:\Users\sysadmin>[guid]"35CAF894943052409B77F30A6F8D40B4"

Guid
----
35caf894-9430-5240-9b77-f30a6f8d40b4
.

Но я знаю, что msexchmailboxguid для этого пользователя на самом деле это:

94f8ca35-3094-4052-9b77-f30a6f8d40b4
.

в соответствии с Exchange PS.Так что это близко, но не совсем правильно.

Я написал функцию, которая преобразует значение вправо, используя процедуры подстроки.

Есть ли лучший / более эффективный способ возврата правильного значения?

Function Convert-msExchMailboxGuid
{
    param
    (
        $RawGuid
    )

    $ConvertedGuid = $RawGuid.SubString(6,2) + $RawGuid.SubString(4,2) + $RawGuid.SubString(2,2) + $RawGuid.SubString(0,2) + $RawGuid.SubString(10,2) + $RawGuid.SubString(8,2) + $RawGuid.SubString(14,2) + $RawGuid.SubString(12,2) + $RawGuid.SubString(16)

    return ([guid]$ConvertedGuid).ToString()
}
.

Это работает нормально, но я надеюсь, что это может быть достигнуто более простым способом:

[PS] C:\Users\sysadmin>Convert-msExchMailboxGuid -RawGuid "35CAF894943052409B77F30A6F8D40B4"
94f8ca35-3094-4052-9b77-f30a6f8d40b4
.

Это было полезно?

Решение

Я попробовал несколько шагов за пределы этого, и даже с определенными параметрами за командами Get-Qaduser остальные были замечательно медленнее, чем мой существующий скрипт.Поэтому я оставлю это здесь, если кто-то хочет использовать свою функцию для преобразования GUID, но я больше не заинтересован в ответ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top