Преобразование MSexchmailboxGuid из Questad
-
11-12-2019 - |
Вопрос
Я пытаюсь преобразовать один из моих сценариев 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, но я больше не заинтересован в ответ.