Question

J'essaie de convertir l'un de mes scripts PS en une annonce de requête avec la quête d'annonce au lieu d'outils natifs pour accélérer le traitement.

Au cours de mes tests, je suis arrivé à la conclusion que la propriété MSExchMailboxGuid est renvoyée dans un format que je dois convertir.

Ceci est la commande que je cours pour tester:

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

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

La valeur msexchmailboxGuid est renvoyée comme suit:

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

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

Si je cours cela, il retourne:

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

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

Mais je sais que le MSEXCHMAILBOXGUID de cet utilisateur est en réalité:

94f8ca35-3094-4052-9b77-f30a6f8d40b4

Selon Exchange PS.Donc, il est proche mais pas tout à fait raison.

J'ai écrit une fonction qui convertit la valeur à la bonne utilisation des procédures de sous-chaîne.

Y a-t-il un moyen meilleur / plus efficace de retourner la bonne valeur?

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()
}

Cela fonctionne bien, mais j'espère que cela peut être atteint de manière plus facile:

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

Était-ce utile?

La solution

J'ai essayé quelques étapes au-delà de cela, et même avec certains paramètres derrière les commandes Get-Qaduser, le reste était notamment plus lent que mon script existant.Je vais donc laisser cela ici au cas où quelqu'un veut utiliser ma fonction pour convertir le GUID, mais je ne suis plus intéressé par la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top