我需要一种方法来根据提供的URL确定SharePoint的版本。此外,我需要通过SharePoint Web服务或不涉及SharePoint的对象模型的任何其他方法(因为代码未在服务器上执行)实现。有人可以帮忙吗?谢谢。
答案 0 :(得分:15)
要实现此目的,您可以对SharePoint URL执行Web请求,然后捕获主机标头。
有一个名为 MicrosoftSharePointTeamServices 的主机标头,它将为您提供SharePoint版本。
见下文:
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);
}
}
然后将您的SharePointVersion与以下列表进行比较:
12.0.0.6535 MOSS 20071或WSS 3.0 SP2 + 12月09累积更新 (KB960010 + KB960011)
12.0.0.6524 MOSS 20071或WSS 3.0 SP2 + 12月15日更新(KB977027 + KB977026)
12.0.0.6520 MOSS 20071或WSS 3.0 SP2 + 10月09累积更新 (KB974989 + KB974988)
12.0.0.6514 MOSS 20071或WSS 3.0 SP2 + 8月09累积更新 (KB973400 + KB973399)
12.0.0.6510 MOSS 20071或WSS 3.0 SP2 + 6月09累积更新 (KB971538 + KB971537)
12.0.0.6504 MOSS 20071或WSS 3.0 SP2 + April 09累积更新 (KB968850 + KB968851)
12.0.0.6421 MOSS 20071或WSS 3.0 SP2(KB953338 + KB953334) [2009年8月1日更新:SP2下载现在包含此修补程序(KB971620) 纠正了激活问题 有关Microsoft SharePoint团队博客的更多信息]
12.0.0.6341 MOSS 20071或WSS 3.0 2009年2月累积更新 (KB961755 + KB961756)
12.0.0.6335 MOSS 20071或WSS 3.0 2011年12月累积更新 (KB960010 + KB960011)
12.0.0.6331 MOSS 20071或WSS 3.0 October 08累积更新(KB957691 + KB957693,KB958567和KB958569)
12.0.0.6327 MOSS 20071或WSS 3.0 08年8月累积更新(KB956056 &安培; KB956057)
12.0.0.6318 MOSS 20071或WSS 3.0基础设施更新(KB951695& KB951297)
12.0.0.6303 MOSS 20071或WSS 3.0 SP1后修补程序(KB948945)
12.0.0.6301 MOSS 20071或WSS 3.0 SP1后修补程序(KB941274)
12.0.0.6300 MOSS 20071或WSS 3.0 SP1后修补程序(KB941422)
12.0.0.6219 MOSS 20071或WSS 3.0 SP1
12.0.0.6039 MOSS 20071或WSS 3.0 10月公开更新
12.0.0.6036 MOSS 20071或WSS 3.0 2007年8月24日修补程序包
12.0.0.4518 MOSS 20071或WSS 3.0 RTM
12.0.0.4407 MOSS 20071或WSS 3.0 Beta 2 TR
12.0.0.4017 MOSS 20071或WSS 3.0 Beta 2
12.0.0.3111 Office 12(PDC映像 - pre-beta) - 此版本的Office 没有支持链接 添加/删除程序对话框。
答案 1 :(得分:2)
这是另一种选择(来自Jeremy Thake's blog)。浏览到:
返回,例如:
vti_encoding:SR | UTF8-NL
vti_extenderversion:SR |的 14.0.0.7145 强>
虽然从技术上讲不是网络服务,但您可以使用http GET调用它,解析结果。此外,使用此方法,您无需在URL处访问网站集的权限,就像使用接受的答案方法一样。
答案 2 :(得分:0)
快速浏览网络服务我找不到办法(即使在中央管理员下的admin.asmx服务中)
思路:
如果能够模拟系统帐户,请抓住/_layouts/settings.aspx页面,这是一个可以解析html的ProductVersionString属性(考虑jquery以获得更快的结果)
< / LI>如果能够更改服务器,请在12 \ TEMPLATE \ LAYOUTS文件夹(或webservice)中创建version.aspx页面,并通过反射输出Microsoft.SharePoint.Utilities.SPUtilityInternal
类型及其ProductVersionString