SharePoint 2010中的PowerShell脚本通过Management Shell工作,但它不能通过C#代码工作。可能的原因是什么?

时间:2014-04-04 09:43:49

标签: c# sharepoint powershell

我正在尝试从SP文件夹中获取一些日志,并将它们写入同一台计算机上的另一个文件夹中。

所以这个脚本可以通过管理shell运行,但是如果我尝试在sharepoint门户网站页面上运行相同的操作,并且在我的代码中执行最强大的权限:

using (WindowsIdentity.Impersonate(System.IntPtr.Zero))
            {
                WindowsIdentity.Impersonate(WindowsIdentity.GetCurrent().Token);
                   SPSecurity.RunWithElevatedPrivileges(
                    delegate()
                    {
                          //PowerShell runs here
                    }
            }

它不起作用。

在SharePoint中,我拥有Farm Admin的权限。 也许PowerShell需要一些我必须在CA中启用的服务,或者它可能是什么呢?

1 个答案:

答案 0 :(得分:0)

如果您在sharepoint中执行此代码,sharepoint将使用应用程序池帐户执行该帐户,该帐户不得拥有所有权限。

请先检查一下。如果它没有帮助,您可能必须将应用程序池帐户添加为shell admin:

Add-SPShellAdmin -username apppoolaccount

如果这也没有帮助,请尝试禁用UAC。