我有一个不寻常的情况,我需要一个SharePoint计时器作业,既有本地管理员窗口权限,也有SHAREPOINT\System
SharePoint权限.
我只需将计时器服务配置为使用本地管理员成员的帐户即可获得Windows权限.我知道这不是一个好的解决方案,因为它为SharePoint计时器服务提供了它应该具有的更多权限.但它至少允许我的SharePoint计时器作业运行stsadm
.
在本地管理员下运行计时器服务的另一个问题是,此用户不一定具有SHAREPOINT\System
SharePoint权限,我也需要此SharePoint作业.事实证明,SPSecurity.RunWithElevatedPrivileges
在这种情况下不会起作用.反射器显示RunWithElevatedPrivileges
检查当前进程是否owstimer
(运行SharePoint作业的服务进程)并且不执行任何提升就是这种情况(我想,这里的理性是计时器服务应该在NT AUTHORITY\NetworkService
具有SHAREPOINT\System
SharePoint的Windows帐户下运行)特权,因此无需提升计时器作业的权限.
这里唯一可行的解决方案似乎是在其通常的NetworkService Windows帐户下运行计时器服务,并通过在某处存储管理员凭据并通过StarInfo的用户名将它们传递给System.Diagnostics.Process.Run()来作为本地管理员运行stsadm ,域名和密码.
现在似乎一切都应该工作,但这是我现在坚持的另一个问题.Stsamd失败并出现以下错误弹出窗口(!)(Winternals filemon显示在这种情况下stsadm在管理员下运行):
The application failed to initialize properly (0x0c0000142).
Click OK to terminate the application.
除弹出窗口外,事件查看器不会注册.
本地管理员用户是我的帐户,当我stsadm
在这个帐户下以交互方式运行时,一切正常.当我将计时器服务配置为在此帐户下运行时,它也可以正常工作.
任何建议值得赞赏:)
将InfoPath 2007 Forms从设计器部署到我们的开发环境的SharePoint服务器中真的很痛苦.我们所有的表单都需要"完全信任",因为它们包含用C#编写的业务逻辑.以下是手动步骤:
1)在InfoPath中运行"发布表单"向导,指定要发布到的目标站点以及保存xsn文件的位置.
2)从网站集功能中取消激活表单的现有版本(如果存在旧版本).
3)在开发服务器上登录Central Admin.导航到"应用程序管理" - >"管理表单模板"并上载xsn文件.
4)激活表单作为网站集功能.
有谁知道如何自动化?也许通过stsadm?
有哪些正确的stsadm命令可以强制升级到SharePoint解决方案.我试过了
C:>"C:\ Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe"-o deploysolution -name"MySolution.wsp"-immediate -allcontenturls -allowGacDeployment -allowCasPolicies -force
其次是
C:>"C:\ Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe"-o execadmsvcjobs
它似乎部署并显示解决方案具有部署时间,当我推送这些命令但我的文件似乎没有更新并且新文件没有出现.
我错过了什么吗?处理完这些命令后,是否需要执行IISReset/noforce.
谢谢,乔什刘易斯
我创建了一个wsp包并将其添加到
管理中心>运营>解决方案管理
使用addsolution
stsadm 的命令.当我单击Deploy Solution菜单时,它会转移我部署到解决方案页面.在此页面中,在"Deploy To?"中 部分,它显示了一个下拉列表,其中包含"所有内容Web应用程序"等条目.
我想全局部署我的解决方案,以便它适用于部署后创建的所有新Web应用程序.我见过WSPs"Deploy To?" 部分仅显示"此解决方案全局部署"而不显示下拉列表的消息.
我即将开始谷歌搜索,但我想我会从这里开始.我们已经找到了一个枚举SharePoint网站集/网站的VB脚本.它调用stsadm来实现这一点,并递归地评估每个站点以获取子站点.
我想知道我们是否可以修改该脚本以获取每个网站集/站点的大小(以字节为单位).
我们正在使用MOSS 2007.
首先,让我用一句话来说出一些挫折感:我的上帝,为SharePoint开发是一个混乱!
好的,对不起,让我关注一个具体的场景.我已经开发了(VS2005)一些功能,如果我将其作为DLL部署在SharePoint(MOSS2007)服务器上.现在,我正在尝试确定将其打包为可部署功能的最佳方法.
根据搜索结果,您认为没有人能以可重复的方式成功完成此任务!每篇文章都与下一篇文章相矛盾,或者记录了一种技术,这种技术可以解决其他人的技术问题,反过来可能会在另一篇文章中进行更新.许多似乎基于2003年的遗留方法,WSS等.有些人建议使用MSBuild任务部署到您的代码,手动将文件复制到名称为"12"的目录,或使用SharePoint Designer等工具或直接修改服务器.这些听起来像开发人员用来安装在测试服务器上的黑客.有没有人创建过一个项目,在成功构建之后,可以将其带到另一台机器并通过STSADM使用安装程序或单命令行指令进行部署?
我承认我只有初学者的SharePoint管理知识,但它必须比看起来更容易.我想我了解http://msdn.microsoft.com/en-us/library/ms413687.aspx上的基本概念,但有没有办法实现自动化?在2007服务器上必须有一个推荐的包装功能的实践..但对于我的生活,我无法弄清楚它是哪一个.(我最好的猜测是它是这样的:http://www.codeplex.com/sptemplateland,但自2007年2月以来一直没有更新.)
有人可以帮忙吗?非常感谢!
我试图弄清楚部署/升级解决方案和激活功能是否会回收应用程序池或以任何方式中断/减慢用户的操作.我需要知道在服务器上有负载时是否可以执行这些步骤,或者最好是在下班后部署.
我正在使用升级解决方案或显示解决方案,addolution,installfeature和activatefeature的特定命令,但为了完整起见,拥有一个全面的列表会很不错.
我是PowerShell的新手.我正在尝试使用stsadm命令备份sharepoint站点但由于某种原因我一直在给我一些错误.
这是我正在做的:
PS C:\ Users\Administrator> Stsadm -o backup -url> http:// server <name:port - filename path\filename用于备份文件
以下是我得到的错误:
术语"stsadm"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或包含路径,验证路径是否正确,然后重试,
在第1行:char:7
+ stsadm <<<< stsadm -o backup -url> http:// server <name: port - 用于备份文件的文件名路径\文件名
+ CategoryInfo:ObjectNotFound:[],CommandNotFoundException
+ FullyQualifiedErrorID:CommandNotFoundException
在解决方案部署和/或功能激活期间,我偶尔会看到此错误...
复制此文件失败.此操作使用无法联系的SharePoint管理服务(spadmin).如果停止或禁用该服务,请启动它并再次尝试操作.
以下是用于部署的PowerShell脚本:
$programfiles_path = $null
$stsadm_path = $null
$url = $null
$solution = $null
$feature = $null
$appPoolName = $null
$url = "http://" + ${env:COMPUTERNAME}
$programfiles_path = ${env:ProgramW6432}
if ($programfiles_path -eq $null)
{
$programfiles_path = ${env:ProgramFiles}
}
$stsadm_path = $programfiles_path + "\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"
if(!(test-path $stsadm_path))
{
echo "stsadm.exe was not found: $stsadm_path"
exit -1
}
ECHO "***********************************"
ECHO "*** Contoso.Common.SolutionPackage ***"
ECHO "***********************************"
$solution = "Contoso.Common.SolutionPackage.wsp"
ECHO "*** add the solution ***"
& $stsadm_path -o addsolution …
Run Code Online (Sandbox Code Playgroud) 我创建了一个自定义计时器作业,并通过sharepoint中的功能事件实现了它.
当我试图激活它时,它显示了这个特殊的错误:
Object reference not set to an instance of an object. at TimerJobExample.MyFeatureReceiver.FeatureActivated(SPFeatureReceiverProperties properties) in C:\Documents and Settings\admin-shuklag.INFRADEV\My Documents\Visual Studio 2008\Projects\TimerJobExample\TimerJobExample\MyFeatureReceiver.cs:line 22
at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce)
at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId)
at Microsoft.SharePoint.WebControls.FeatureActivator.BtnActivateFeature_Click(Object objSender, EventArgs evtargs)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Run Code Online (Sandbox Code Playgroud)
错误行在下面突出显示
public override void …
Run Code Online (Sandbox Code Playgroud) 如何将包含其所有数据的sharepoint列表复制到其他Web?
有一个stsadm命令来做到这一点?
甚至通过gui.
sharepoint ×11
stsadm ×11
deployment ×3
wsp ×2
event-viewer ×1
global ×1
infopath ×1
moss ×1
powershell ×1
privileges ×1
solution ×1
timer ×1
timer-jobs ×1
wss ×1