答案 0 :(得分:3)
可能您需要为相关SharePoint应用程序提供对ASP.NET应用程序池帐户的访问权限,以便执行stsadm(如果您正在尝试这样做)。或者,如果您冒充帐户,则向模拟的用户提出。您还需要为其正在运行的所有SharePoint内容提供应用程序池帐户附属权限(SQL Server,SharePoint内容等)
注意:这可能会带来各种风险,从Internet / Intranet运行STSADM可以做各种我不敢想的事情。对stsadm命令执行的注入攻击非常警惕,人们提升权限以执行没有业务的stsadm。你能想到一个更好的方法来做你想做的事吗?
答案 1 :(得分:3)
Process.Start将导致STSADM到run under the ASPNET worker process account
因此,如果您授予此帐户使用STSADM的权限,那么您必须确保您的网页正确限制可以执行的操作以及由谁执行
+10 for tekiegreg的小心评论 - 如果你弄错了它可能会变成核!
也许更好的方法是使用对象模型Microsoft.SharePoint.Administration作为大多数可以完成的事情虽然STSADM可以通过WSSv3的对象模型完成
这将有一些优点 1)没有解析console.out字符串 2)您应该能够impersonate the authenticated user,然后STSADM / SharePoint负责确定允许用户执行的操作。