Necesito una manera de determinar la versión de SharePoint basado en la URL proporcionada. Además, tengo que tenerlo implementado a través de los servicios web de SharePoint o cualquier otro método que no implican el modelo de objetos de SharePoint (porque el código no se ejecuta en el servidor). Podría alguien ayudar por favor? Gracias.

OriginalEl autor Boris | 2010-02-22

3 Comentarios

  1. 15

    Para lograr esto usted puede ejecutar una petición web a su dirección URL de SharePoint y, a continuación, la captura de un encabezado de host.

    Hay un encabezado de host llamado MicrosoftSharePointTeamServices que le proporcionará la versión de SharePoint.

    Ver a continuación:

    using System;
    using System.Net;
    
    class C {
      static void Main(string[] args) {
        var uri = new Uri(args[0]);
        var wc = new WebClient();
        wc.UseDefaultCredentials = true;
        wc.DownloadString(uri);
        var sharePointVersion = wc.ResponseHeaders["MicrosoftSharePointTeamServices"];
        Console.WriteLine(sharePointVersion);
      }
    }

    Luego compare su SharePointVersion con la siguiente lista:

    12.0.0.6535 MOSS 20071 o WSS 3.0 SP2 + 09 de diciembre de Actualización acumulativa
    (KB960010 + KB960011)

    12.0.0.6524 MOSS 20071 o WSS 3.0 SP2 + 15 de diciembre de Actualización (KB977027
    + KB977026)

    12.0.0.6520 MOSS 20071 o WSS 3.0 SP2 + 09 de octubre de Actualización acumulativa
    (KB974989 + KB974988)

    12.0.0.6514 MOSS 20071 o WSS 3.0 SP2 + 09 de agosto de Actualización acumulativa
    (KB973400 + KB973399)

    12.0.0.6510 MOSS 20071 o WSS 3.0 SP2 + 09 de junio de Actualización acumulativa
    (KB971538 + KB971537)

    12.0.0.6504 MOSS 20071 o WSS 3.0 SP2 + 09 de abril de Actualización acumulativa
    (KB968850 + KB968851)

    12.0.0.6421 MOSS 20071 o WSS 3.0 SP2 (KB953338 + KB953334)
    [Actualizado el 1 de Agosto de 09: SP2 descargar ahora incluye la revisión (KB971620)
    que corrige el problema de activación
    más información sobre el equipo de Microsoft SharePoint blog]

    12.0.0.6341 MOSS 20071 o WSS 3.0 09 de febrero de Actualización acumulativa
    (KB961755 + KB961756)

    12.0.0.6335 MOSS 20071 o WSS 3.0 08 de diciembre de Actualización acumulativa
    (KB960010 + KB960011)

    12.0.0.6331 MOSS 20071 o WSS 3.0 08 de octubre de Actualización acumulativa (KB957691
    + KB957693,KB958567 y KB958569)

    12.0.0.6327 MOSS 20071 o WSS 3.0 08 de agosto de actualización acumulativa (KB956056
    & KB956057)

    12.0.0.6318 MOSS 20071 o WSS 3.0 Actualización de la Infraestructura (KB951695 &
    KB951297)

    12.0.0.6303 MOSS 20071 o WSS 3.0 SP1 posterior revisión (KB948945)

    12.0.0.6301 MOSS 20071 o WSS 3.0 SP1 posterior revisión (KB941274)

    12.0.0.6300 MOSS 20071 o WSS 3.0 SP1 posterior revisión (KB941422)

    12.0.0.6219 MOSS 20071 o WSS 3.0 SP1

    12.0.0.6039 MOSS 20071 o WSS 3.0 actualización pública de octubre

    12.0.0.6036 MOSS 20071 o WSS 3.0 el 24 de agosto, 07 paquete de hotfix

    12.0.0.4518 MOSS 20071 o WSS 3.0 RTM

    12.0.0.4407 MOSS 20071 o WSS 3.0 Beta 2 TR

    12.0.0.4017 MOSS 20071 o WSS 3.0 Beta 2

    12.0.0.3111 Oficina 12 (PDC imagen – pre-beta) – Esta versión de Office
    no tiene un enlace de soporte en el
    Agregar/Quitar programas del cuadro de diálogo.

    Bien hecho! Gracias por tu respuesta. Muy compacto, ordenado y eficiente de código. En el clavo!
    Estoy consiguiendo el mismo nombre de la versión para WSS y MOSS 2007?: stackoverflow.com/questions/5002569/…

    OriginalEl autor Joshua

  2. 2

    Aquí es otra opción (de Jeremy Thake del blog). Vaya a:

    /_vti_pvt/servicio.cnf» >http://<servername>/_vti_pvt/servicio.cnf

    Devuelve, por ejemplo:

    vti_encoding:SR|utf8-nl

    vti_extenderversion:SR|14.0.0.7145

    Aunque técnicamente no es una web de servicio, se le puede llamar mediante un http GET, analizar los resultados. Además, con este método, no se necesita permiso para acceder a la colección de sitios en la URL, como se hace con el aceptado la respuesta del método.

    OriginalEl autor Eccentropy

  3. 0

    Una navegación rápida de los webservices no podía encontrar una manera de hacer que (incluso en la administración.asmx servicio bajo la central de administración)

    Ideas:

    1. Si es capaz de suplantar a la Cuenta del Sistema, tome el /_layouts/configuración.página aspx, hay un ProductVersionString propiedad que se puede analizar el código html para llegar a (considere la posibilidad de jquery para resultados más rápidos)

    2. Si es capaz de cambiar el servidor, crear la versión.página aspx en la 12\TEMPLATE\LAYOUTS (o webservice) y a través de la reflexión salidas de la Microsoft.SharePoint.Utilities.SPUtilityInternal tipo y su ProductVersionString

    F. Aquino, gracias por su respuesta. Por desgracia, esto no funciona con SharePoint 2010. La principal razón por la que necesita esta funcionalidad, en primer lugar, es ser capaz de determinar si el usuario proporciona el enlace a la SP2007 o SP2010 sitio. Sub-creación del sitio es manejado de manera diferente en estas dos versiones, por lo tanto tengo que dar la ramificación en mi código. La ramificación de la condición debe decir verdad para SP2007 o false para SP2010.
    Yo no veo por qué no, el 12 mencionado es sólo un ejemplo, y el Modelo de Objeto no ha cambiado mucho por esa parte, pero terminé upvoting Josha la respuesta por debajo del cual es muchísimo mejor.
    No puedo usar el Modelo de Objetos de SharePoint.

    OriginalEl autor Francisco Aquino

Dejar respuesta

Please enter your comment!
Please enter your name here