FileInfo类只能获取文件的基本信息,对于文件的详细信息无法获取,因此获取文件详细信息可以采用两种方式:
一是用shell32的shellclass类获取;
二是用Openxml来获取。
第一种比较麻烦在vs的sharepoint空项目中无法载入,在webapplication里可以正常使用;如果想使用那么需要用dllload导入。
第二种采用openxml,openxml只能操作office2007以上版本的文档,目前支持word,excel,ppt三种。下面以word为例:
用WordprocessingDocument类来操作文档,具体的代码如下:
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(url, true))
{
CoreFilePropertiesPart corePart = wordDoc.CoreFilePropertiesPart;
//获取本地文件的作者
string creator = corePart.OpenXmlPackage.PackageProperties.Creator;
}
posted @ 2011-11-08 14:44 sumh 阅读(57) 评论(1)
编辑
提供wsp部署的参数:$wspnames:路径下的所有wsp文件名用逗号隔开,如“sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp,sumhtestwsp789.wsp”
方法:
function RemoveWSP([string] $wspnames)
{
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
foreach($wspname in $wspnames.split(','))
{
$gspsolution = Get-SPSolution -Identity $wspname -ErrorAction silentlycontinue
if($gspsolution -ne $null)
{
if(!$gspsolution.Deployed)
{
Remove-SPSolution -Identity $wspname
}
}
}
}
例如:
RemoveWSP -wspnames "sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp"
posted @ 2011-07-26 16:26 sumh 阅读(16) 评论(0)
编辑
提供wsp部署的参数:$wspnames:路径下的所有wsp文件名用逗号隔开,如“sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp,sumhtestwsp789.wsp”
方法:
function recoverWSP([string] $wspnames)
{
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
foreach($wspname in $wspnames.split(','))
{
$gspsolution = Get-SPSolution -Identity $wspname
if($gspsolution -ne $null)
{
if($gspsolution.Deployed)
{
Uninstall-SPSolution -AllWebApplications -Identity $wspname
}
}
}
}
例如:
recoverWSP -wspnames "sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp"
posted @ 2011-07-26 16:25 sumh 阅读(20) 评论(0)
编辑
提供wsp部署的参数:
$wsppath:wsp文件所在的路径,如“c:\”
$wspnames:路径下的所有wsp文件名用逗号隔开,如“sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp,sumhtestwsp789.wsp”
$allwebapp:是否要全局部署,如“$True”,true是要全局部署$webId:$allwebapp为“$False”,那么就需要输入指定应用程序的Guid
方法:
function deployWSP([string] $wsppath,[string] $wspnames,[bool] $allwebapp,[Guid] $webId)
{
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
foreach($wspname in $wspnames.split(','))
{
$gspsolution = Get-SPSolution -Identity $wspname -ErrorAction silentlycontinue
if($gspsolution -eq $null)
{
Add-SPSolution -LiteralPath $wsppath.Insert($wsppath.Length,$wspname)
}
if($allwebapp)
{
if(!$gspsolution.Deployed)
{
Install-SPSolution -Identity $wspname -GACDeployment -AllWebApplications
}
}
else
{
if(!$gspsolution.Deployed)
{
Install-SPSolution -Identity $wspname -GACDeployment -WebApplication $webId
}
}
}
}
例如
deployWSP -wsppath "c:\" -wspnames "sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp" -allwebapp $true
posted @ 2011-07-26 16:24 sumh 阅读(112) 评论(0)
编辑
wss3.0 sp2以上版本的网站升级到foundation 2010
将wss3.0 sp2以上版本的数据库还原到 foundation + sql08R2的环境中,先备份WSS3.0的应用程序,只需备份应用程序的数据库,数据库的备份需要是.bak方式的。
还原数据库,操作完成,需要用addcontentdb命令将数据库添加到应用程序中。
先把应用程序的数据库删除,检查一下管理中心下的应用程序内容数据库是否还包含应用程序数据库,如果还包含需要手动删除。创建新的数据库(WSS_Content),把.bak文件还原到新数据库中。在命令行中执行下面的命令:
Stsadm -o addcontentdb -url http://localhost/ -databasename WSS_Content
posted @ 2011-07-07 18:06 sumh 阅读(118) 评论(0)
编辑
获取bdc对象模型信息
Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Model" -Name "sumhModel" -ServiceContext http://win08r2/
效果图:
导入BDC模型
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$bcs=Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Catalog" -ServiceContext http://win08r2/
Import-SPBusinessDataCatalogModel -Path "c:http://www.cnblogs.com/sumh/admin/file://testmodel.xml/" -Identity $bcs
删除BDC模型
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$bcs=Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Model" -Name "testModel" -ServiceContext http://win08r2/
if($bcs)
{
Remove-SPBusinessDataCatalogModel -Identity $bcs
}
posted @ 2011-05-06 11:05 sumh 阅读(22) 评论(0)
编辑
创建搜索元数据映射
$searchapp=Get-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Name mei -Type 2 -Description "苏梅华"
$mei = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity mei
$cmei=Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name Return.Series
$cmei1=Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name Return.Subscribes
New-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -CrawledProperty $cmei -ManagedProperty $mei
New-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -CrawledProperty $cmei1 -ManagedProperty $mei
效果图:

如果没有删除映射,删除元数据时会提示错误

删除搜索元数据:首先先删除搜索元数据映射
$PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue
if( $PSSnapinSharePoin -eq $Null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$searchapp = Get-SPEnterpriseSearchServiceApplication
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity su
$mapmei = Get-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -ManagedProperty $mp
foreach($_ in $mapmei)
{
$prop = Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name $_.CrawledPropertyName
$map = Get-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -CrawledProperty $prop -ManagedProperty $mp
$map | Remove-SPEnterpriseSearchMetadataMapping
}
$mp | Remove-SPEnterpriseSearchMetadataManagedProperty
posted @ 2011-05-06 11:02 sumh 阅读(63) 评论(0)
编辑
摘要: SharePoint 是大型团体的开发解决方案,功能丰富的开发平台。目前的挑战,虽然,总是在创建解决方案和可信任的不会损害和破坏SharePoint场方式下部署解决方案之间找到了平衡。场级管理员有责任维护SharePoint场的健康与健全,意思是进入结构复杂的,费时的进程区域里测试和批准解决方案部署到场中。
这些需求与快捷应用程序模型用于创建SharePoint解决方案时正相反,并且它复杂化第三方解决方案的部署。
SharePoint 2010有一个新功能叫做沙盒解决方案,许多采用沙盒解决方案的企业,可以使场级管理员感觉很舒服,因为采用沙盒解决方案的SharePoint场是安全的,给网站集管理员权限去管理网站集的应用程序,和支持开发人员灵活地创建解决方案,并安全迅速地部署。
这篇文章,描述了SharePoint 2010的沙盒解决方案如何提供安全快速部署解决方案的框架。
你将学习到场级管理员如何监视解决方案和网站集管理员如何安装和管理解决方案和功能。将学习到如何开发沙盒的Web部件。开始理解解决方案如何部署到沙盒里。。。。。。
阅读全文
posted @ 2010-05-28 18:10 sumh 阅读(1482) 评论(6)
编辑
摘要: MOSS的RTF字段的上传图片存在缺陷,上传图片必须填写站点上的图片Url才能上传,这样用户操作起来很不方便,为了方便用户使用,你可以自定义RTF类型的字段,也可以重写上传图片的对话框。。。。。。
阅读全文
posted @ 2010-04-23 15:06 sumh 阅读(303) 评论(0)
编辑
摘要: 高权限的工作流是SharePoint Foundation新增的内容,这些新的流程允许有权限的用户执行声明性工作流,除了工作流的发起者。高权限的工作流使用户可以安全地控制,设计和运行声明性工作流,工作流发起者的权限除外。在WF3中,工作流由系统管理员来执行,只关注流程发起者的权限。而在SharePoint Foundation 2010中,高权限的工作流允许流程的发起者指定高级别权限的人员去运行工...
阅读全文
posted @ 2010-04-16 11:20 sumh 阅读(92) 评论(0)
编辑