首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取C#中的SP配置数据库版本

获取C#中的SP配置数据库版本
EN

Stack Overflow用户
提问于 2012-09-13 22:24:44
回答 3查看 907关注 0票数 3

我希望通过C#获取SharePoint配置数据库版本,并在Microsoft.SharePoint.Administration下找到了SPConfigDatabase class,它有一个Version成员。这正是我要找的,但现在已经过时了。

做这件事最好的方法是什么?理想情况下,我还想获取累积更新日期,尽管这本质上只是版本号的另一个名称。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-13 23:26:20

使用C#获取它的方法是使用Microsoft.SharePoint.Administration.SPFarm类,您要查找的属性是BuildVersion

代码语言:javascript
复制
var v = SPFarm.Local.BuildVersion;

由于这将返回一个System.Version对象,因此您可能希望将这些值连接在一起,以使字符串像在管理中心一样显示:

代码语言:javascript
复制
var friendly = v.Major + "." + v.Minor + "." + v.Build + "." + v.Revision;

此外,请注意,要访问SPFarm.Local属性,您需要在64位模式下运行代码,并拥有授权帐户。事实上,在我的虚拟机上启用UAC后,我需要通过右键单击代码并选择“以管理员身份运行”来运行代码。

票数 3
EN

Stack Overflow用户

发布于 2012-09-13 23:17:37

我通过执行powershell脚本找到了一个试探性的解决方案。下面是我的解决方案,将powershell脚本中的结果打印到控制台:

代码语言:javascript
复制
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
.
.
.
MAIN CODE:
Runspace runspace = RunspaceFactory.CreateRunspace();

runspace.Open();


PowerShell ps = PowerShell.Create();
ps.AddScript("Add-PsSnapin Microsoft.SharePoint.Powershell");
ps.AddScript("get-spfarm | select BuildVersion");
ps.AddCommand("Out-String");

Collection <PSObject> results = ps.Invoke();
runspace.Close();

foreach (PSObject obj in results)
{
    Console.WriteLine(obj.ToString());
}

归功于http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-Chttp://social.msdn.microsoft.com/Forums/hu/sharepoint2010general/thread/88b11fe3-c218-49a3-ac4b-d1a04939980c

票数 1
EN

Stack Overflow用户

发布于 2012-09-13 22:30:42

只需连接到数据库并执行以下查询

代码语言:javascript
复制
SELECT SERVERPROPERTY ('productversion'), 
       SERVERPROPERTY ('productlevel'), 
       SERVERPROPERTY ('edition')

参考资料:http://support.microsoft.com/kb/321185

我希望这对你有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12408517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档