سؤال

03Cp style=";text-align:right;direction:rtl"> ملخص: كيف يمكنني إنشاء جمعيات سير العمل SharePoint 2013 من خلال PowerShell؟ سير العمل SharePoint 2013 لا تظهر على قائمة سير العمل في قائمة SPWEB.u003C/

03Cp style=";text-align:right;direction:rtl"> أحاول ربط سير عمل SharePoint 2013 بمكتبة مستندات باستخدام PowerShell.u003C/

03Cp style=";text-align:right;direction:rtl"> تم نشر سير العمل في مزرعة SharePoint في الفرضية باستخدام حل مربع لا رمز.u003C/

03Cp style=";text-align:right;direction:rtl"> إذا ذهبت عبر واجهة الويب المعتادة، فإن سير العمل مرئيا، وإذا كنت أتابع الرابطة، وظيفية.u003C/

03Cp style=";text-align:right;direction:rtl"> ومع ذلك، إذا حاولت الحصول على قائمة spweb.workflowtemates فأي أظهر فقط قوالب سير العمل نمط SP2010.u003C/

03Cp style=";text-align:right;direction:rtl"> أنا أتمتة النشر وتريد إنشاء الارتباط من خلال PowerShell بحيث لا أحتاج إلى كتابة خطوة بخطوة لموسم Safvy غير SharePoint (يتبع في بيئات مختلفة [لديهم بالفعل 3 طبقات - أنا أحب عملاء البنك]).u003C/

03Cp style=";text-align:right;direction:rtl"> نظرا لأنها تقف، فإن إنشاء الجمعية تم تصميمها كجزء من أعمال النشر الميزة. أتساءل كيف يمكن القيام بذلك إذا لم يكن ذلك بديلا (أيضا، فإن جمعية تصريحة تنشئ 3 جمعيات - واحدة لكل نوع من الأحداث / لا تحب ذلك).u003C/

هل كانت مفيدة؟

المحلول

03Cp style=";text-align:right;direction:rtl"> وذلك لأن سير العمل SharePoint 2013 مستضاف في إدارة سير العمل. لذلك تحتاج إلى إضافة اشتراك جديد في سير العمل إلى مدير سير العمل. لقد وجدت المفيدة المفيدة التالية تجريب كيفية القيام بذلك. على الرغم من أن هذا يستخدم CSOM بدلا من PowerShell.u003C/

03Ca href="https://msdn.microsoft.com/en-us/library/office/dn481315.aspx" rel="nofollow">العمل مع SHAREPOINT 2013 خدمات سير العمل طراز كائن جانب العميلu003C/

03Cp style=";text-align:right;direction:rtl"> فيما يلي أمثلة PowerShell. للحصول على نقاط العمل المثبتة استخدام WorkflowDeploymentservice:u003C/

    $web = get-spweb "http://yourWebUrl"    
    $wfm = New-object Microsoft.SharePoint.WorkflowServices.WorkflowServicesManager($web)
    $defSevice = $wfm.GetWorkflowDeploymentService()
    $wfDefs = $defSevice.EnumerateDefinitions($false)
    $wfDef = $wfDefs | where {$_.Id -eq "ID of the WorkflowDefinition"}

03Cp style=";text-align:right;direction:rtl"> بمجرد العثور على معرف WorkflowDefinition، ترغب في ربط القائم بإنشاء حركة عمل جديدة ونشرها إلى قائمتك باستخدام خدمة Workflowsubscription:u003C/

    $wfsubService = $wfm.GetWorkflowSubscriptionService()
    $wfTaskList = $web.Lists["Workflow Tasks"];
    $wfHistoryList = $web.Lists["Workflow History"];
    $list = $web.List["List you want to add to"];

    #Create Workflow Subscription 
    $sub = New-object Microsoft.SharePoint.WorkflowServices.WorkflowSubscription
    $sub.DefinitionId = {this is the id of the WorkflowDefinition}
    $sub.Enabled = $true
    $sub.Name = $wfDef.DisplayName

    #Build start options
    $startOptions = New-Object "System.Collections.ObjectModel.Collection[System.String]"
    $startOptions.Add("ItemAdded") #When item added
    $startOptions.Add("ItemUpdated") #When item updated
    $startOptions.Add("WorkflowStart") #Allow manual start
    $sub.EventTypes = $startOptions

    $sub.SetProperty("HistoryListId", $wfHistoryList.Id)
    $sub.SetProperty("TaskListId", $wfTaskList.Id)

    $wfSubService.PublishSubscriptionForList($sub, $list.Id);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top