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
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top