Conversão de msExchMailboxGuid de QuestAD
-
11-12-2019 - |
Pergunta
Estou tentando converter um dos meus scripts PS para consultar o AD com o Quest AD em vez de ferramentas nativas para acelerar o processamento.
Durante meus testes, cheguei à conclusão de que a propriedade msExchMailboxGuid é retornada em um formato que preciso converter.
Este é o comando que estou executando para teste:
$LDAPQuery = "(&(HomeMDB=*)(objectClass=user))"
$OUPath = "OU=users,DC=domain,DC=com"
$SearchResults = Get-QadUser -LdapFilter $LDAPQuery -SearchRoot $OUPath -ShowProgress -SizeLimit 1 -IncludedProperties "msExchMailboxGuid"
O valor msExchMailboxGuid está sendo retornado assim:
[PS] C:\Users\sysadmin>$SearchResults | Select msExchMailboxGuid
msExchMailboxGuid
-----------------
35CAF894943052409B77F30A6F8D40B4
Se eu executar isso, ele retornará:
[PS] C:\Users\sysadmin>[guid]"35CAF894943052409B77F30A6F8D40B4"
Guid
----
35caf894-9430-5240-9b77-f30a6f8d40b4
Mas eu sei que o msExchMailboxGuid para este usuário é na verdade este:
94f8ca35-3094-4052-9b77-f30a6f8d40b4
De acordo com o Exchange PS.Então está perto, mas não está certo.
Eu escrevi uma função que converte o valor para o valor correto usando procedimentos de substring.
Existe uma maneira melhor/mais eficiente de retornar o valor certo?
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()
}
Isso funciona bem, mas espero que isso possa ser alcançado de uma maneira mais fácil:
[PS] C:\Users\sysadmin>Convert-msExchMailboxGuid -RawGuid "35CAF894943052409B77F30A6F8D40B4"
94f8ca35-3094-4052-9b77-f30a6f8d40b4
Solução
Tentei algumas etapas além disso e, mesmo com determinados parâmetros por trás dos comandos Get-QADUser, o restante foi notavelmente mais lento que meu script existente.Então vou deixar isso aqui caso alguém queira usar minha função para converter o GUID, mas não estou mais interessado na resposta.