Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 异常调用";StartWorkflow“;加上;3“;论点:“&引用;_Powershell_Sharepoint_Workflow - Fatal编程技术网

Powershell 异常调用";StartWorkflow“;加上;3“;论点:“&引用;

Powershell 异常调用";StartWorkflow“;加上;3“;论点:“&引用;,powershell,sharepoint,workflow,Powershell,Sharepoint,Workflow,我正在尝试编写一个powershell脚本来启动两个工作流 其中一个只需要启动一次,而另一个需要在列表中的每个项目上运行。然而,我被一个错误所困扰,我不知道如何摆脱它。当我添加一个4参数时,我得到了相同的错误。我正在以spshelladmin 错误 Exception calling "StartWorkflow" with "3" argument(s): "" At C:\cert.ps1:26 char: 29 + $em = $manager.StartWorkFlow

我正在尝试编写一个powershell脚本来启动两个工作流

其中一个只需要启动一次,而另一个需要在列表中的每个项目上运行。然而,我被一个错误所困扰,我不知道如何摆脱它。当我添加一个4参数时,我得到了相同的错误。我正在以
spshelladmin

错误

Exception calling "StartWorkflow" with "3" argument(s): ""
    At C:\cert.ps1:26 char: 29
    + $em = $manager.StartWorkFlow <<<< ($items[0],$emails,$data)
        + CategoryInfo           : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId  :  DotNetMethodException

实际上,我发现我瞄准的一个特定项目已经运行了一个工作流,我没有对状态进行适当的检查(查看此代码的注释),这是一个非常误导性的错误,我认为我在
StartWorkFlow($item,$association,$data,$true)
上的方法调用重载错误,在SP 2013中,有4个参数不确定线程标题为什么显示三个。。。无论如何,我希望这能帮助别人。

我实际上发现我瞄准的一个特定项目已经运行了一个工作流,我没有对状态进行适当的检查(查看此代码上的注释),这是一个非常误导性的错误,我认为我在
StartWorkFlow($item,$association,$data,$true)上的方法调用有错误的重载
,在SP 2013中,有4个参数不确定为什么线程标题显示三个。。。无论如何,希望这能对某人有所帮助。

您能输出
$item
$items[0]
的值,以确认您有什么东西在里面吗。您试图通过的
$item
对象有问题。您可以输出
$item
$items[0]
的值以确认其中有内容。您试图通过的
$item
对象有问题
$web = Get-SPWeb -Identity "http://portal.com/sites/it" 
$manager = $web.Site.WorkFlowManager   
$list = $web.Lists["Certificate Tracking"]

$assoc = $list.WorkflowAssociations.GetAssociationByName("Certificate Notification","en-US")
$assoc.AllowAsyncManualStart = $true
$assoc.AllowManual = $true

$emails = $list.WorkflowAssociations.GetAssociationByName("Status Update","en-US")
$emails.AllowAsyncManualStart = $true
$emails.AllowManual = $true

$view = $list.Views["All Items"] #All Items
$items = $list.GetItems($view)  

$data = $assoc.AssociationData
$emData = $emails.AssociationData

$count = 0

foreach ($item in $items) {
 $wf = $manager.StartWorkFlow($item,$assoc,$data) 
}
$em = $manager.StartWorkFlow($items[0],$emails,$emData,$true)

$web.Dispose()