1
你好我试图从powershell访问一个共享点列表。 powershell脚本从c#应用程序执行。从c#应用程序从Powershell脚本访问sharepoint
如果我运行从C#应用程序,我得到以下异常:
异常调用 “.ctor” 与 “1” 的说法(S):“Web应用程序 在
http://pc/websites/Test4/
找不到。确认您有 输入的URL正确。如果该URL应该提供现有的 内容,系统管理员可能需要添加一个新的请求URL 映射到预期的应用程序。
我的代码:
C#
string cmdArg = "C:\\Scripts\\GroupChangeGroup.ps1 1";
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.ApartmentState = System.Threading.ApartmentState.STA;
runspace.ThreadOptions = PSThreadOptions.UseCurrentThread;
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
Command newcom = new Command("Add-PSSnapin");
newcom.Parameters.Add("Name", "microsoft.exchange.management.powershell.e2010");
pipeline.Commands.Add(newcom);
Command newcom2 = new Command("Add-PSSnapin");
newcom2.Parameters.Add("Name", "Microsoft.SharePOint.POwershell");
pipeline.Commands.Add(newcom2);
pipeline.Commands.AddScript(cmdArg);
pipeline.Commands[0].MergeMyResults(PipelineResultTypes.Error, PipelineResultTypes.Output);
Collection<PSObject> results = pipeline.Invoke();
var error = pipeline.Error.ReadToEnd();
runspace.Close();
Powershell的
$site = New-Object Microsoft.SharePoint.SPSite("http://pc/websites/Test4/")
$web = $site.OpenWeb()
$list = $web.Lists["GroupsList - ListInstance1"]
$listitem = $list.Items.GetItemByID(3)
如果我从PS执行应用程序没有proble米(同一用户上下文)
用户WSS_ADMIN_WPG
我将Framework更改为3.5,并将Target CPU设置为x64,但未成功。我不认为这是造成麻烦的框架,因为共享点操作在powershell中? ... – HW90
尝试添加脚本'$ farm = Get-Farm'并检查它是否正确加载。 –
我是你的意思是$ farm = Get-SPFarm?如果我只是在ps脚本中执行它,它就可以工作。如果我从c#启动脚本,我会遇到以下故障:术语'Get-SPFarm'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 – HW90