ServerVersion (POX)
L’élément ServerVersion représente le numéro de version de l’ordinateur qui exécute Microsoft Exchange Server.
<ServerVersion/>
Attributs et éléments
Les sections suivantes décrivent les attributs, les éléments enfants et les éléments parents.
Attributs
Aucune.
Éléments enfants
Aucun.
Éléments parents
Élément | Description |
---|---|
Protocol (POX) |
Contient les spécifications pour la connexion d’un client à l’ordinateur exécutant Microsoft Exchange sur lequel le rôle serveur d’accès au client est installé. |
Valeur de texte
La valeur de texte représente le numéro de version du serveur Exchange.
Remarques
La valeur ServerVersion est valide uniquement si l’élément Type (POX) est égal à EXCH ou EXPR. La valeur ServerVersion est un nombre hexadécimal qui contient les valeurs MajorVersion, MinorVersion et MajorBuildNumber du serveur.
Exemple
L’exemple suivant cache une valeur ServerVersion retournée dans une réponse de découverte automatique pour obtenir et afficher les valeurs MajorVersion, MinorVersion et MajorBuildNumber. Cet exemple vous permet d’entrer une valeur hexadécimale pour la valeur ServerVersion . Si aucune valeur ServerVersion n’est entrée, une valeur ServerVersion par défaut de 738180DA est utilisée.
static void Main(string[] args)
{
// Convert a ServerVersion value that is returned from an Autodiscover request.
// The value is a hex value and can be converted to the MajorVersion, MinorVersion,
// and MajorBuildNumber.
Console.WriteLine("Enter ServerVersion returned from the Autodiscover (eg. 738180DA) and Enter.");
Console.WriteLine("To use the default ServerVersion of 738180DA, just hit Enter.");
// Get the hexadecimal ServerVersion value.
string serverversionhex = Console.ReadLine();
// If nothing is entered, use the default server version of "738180DA"
if (serverversionhex == "")
{
serverversionhex = "738180DA";
}
Console.WriteLine("ServerVersion (Hex) = " + serverversionhex);
string serverversionbinary = Convert.ToString(Convert.ToInt32(serverversionhex, 16), 2);
// The ServerVersion (binary) should be 32 bits in length. If the
// server version in binary is a length of 31 characters, the leading
// zero has been removed in the conversion process. Put the missing zero back.
if (serverversionbinary.Length == 31)
{
serverversionbinary = String.Concat("0", serverversionbinary);
}
Console.WriteLine("ServerVersion (bin) = " + serverversionbinary);
// The first 4 bits represent a number used for comparison against
// older version number structures. You can ignore this.
// The next 6 bits represent the major version number.
int majorversion = Convert.ToInt32(serverversionbinary.Substring(4, 6), 2);
Console.WriteLine("MajorVersion: " + majorversion);
// The next 6 bits represent the minor version number.
int minorversion = Convert.ToInt32(serverversionbinary.Substring(10, 6), 2);
Console.WriteLine("MinorVersion: " + minorversion);
// The next bit represent a flag - you can ignore this.
// The next 15 bits represent the major build number.
int majorbuild = Convert.ToInt32(serverversionbinary.Substring(17, 15), 2);
Console.WriteLine("MajorBuildVersion: " + majorbuild);
Console.WriteLine("\n\nPress any key to continue");
Console.ReadKey();
}