SharePoint PowerShell 启动工作流
前言
最近,有个需求,就是需要批量更新列表内容,平时这些操作,都用powershell去完成,但是,powershell需要在服务器上操作,而服务器权限需要通过客户的层层把关,所以,这次就考虑不用命令了,而改用SharePoint网站工作流,然后,用powershell命令去创建任务计划。
这样,以后有需求修改,直接在客户端就能做了,而任务计划,是始终不会变的。
1.创建网站工作流,这个就比较简单了,我们就不多少了,直接在SharePoint Designer里干就好了;
2.启动网站工作流的PowerShell代码段,这个显然是本文的重中之重;
# SharePoint.Workflow.Start-SPSiteWorkflow param (
[string]$Url = "http://sharepoint/demos/workflow",
[string]$Workflow = "Sample Site Workflow"
) Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction
SilentlyContinue
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") # get the workflow assocation from the target site/web
$site = Get-SPSite $Url
$culture = [System.Globalization.CultureInfo]::InvariantCulture
$wfAssociation = $site.RootWeb.WorkflowAssociations.GetAssociationByName($Workflow,$culture) if ( $wfAssociation )
{
# initialize and optionally update association data
$assocData = $wfAssociation.AssociationData # start the workflow
$wfRunOption = [Microsoft.SharePoint.Workflow.SPWorkflowRunOptions]::Asynchronous
$site.WorkflowManager.StartWorkflow($site, $wfAssociation, $assocData,$wfRunOption)
}
else
{
Write-Error "Workflow association not found on target web site."
}
3.保存成ps1文件,然后,创建一个任务计划定时去执行就好了;
4.创建任务计划可以参考:
https://www.cnblogs.com/jianyus/p/10341253.html
结束语
SharePoint的好处就在于是个平台,很多功能有多种多样的方式来完成,而我们可以根据需求,选中最最适合我们场景的那一个。
当然,这些就需要我们对SharePoint有这深入的了解,方方面面的功能都很熟悉了。
SharePoint PowerShell 启动工作流的更多相关文章
- SharePoint 2016 配置工作流环境
前言 SharePoint 2016 默认创建工作流的时候,工作流平台只包含2010版本,如果想要使用状态机工作流,需要单独安装workflow manager 1.0才可以,下面,我们为大家介绍一下 ...
- SharePoint 2013 状态机工作流之日常报销示例
简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1. ...
- SharePoint 2013 状态机工作流之扩展自定义状态
当我们使用SharePoint 2013的状态机工作流时,发现一个非常不爽的事情,就是SharePoint 所有的工作流状态,都是固定的那些,没办法显示我们自定义的状态,后来经过Google发现,原来 ...
- sharepoint powershell 批量处理匿名访问
配置Web Application启用匿名访问 Add-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyCont ...
- 在Powershell ISE中添加sharepoint的智能提示,Enable SharePoint PowerShell Commandlets in the PowerShell ISE
Powershell ISE在默认状态下有一个不好的地方就是不会显示关于SharePoint的一些智能提示,例如你写一个"get-"后面提示的选项里没有sp开头的一些对象.于是找了 ...
- SharePoint 2013 开发——工作流架构
博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...
- SharePoint PowerShell 修改母版页
前言 最近在群里帮忙回答问题,碰到这么一个尴尬的问题,有人创建了一个新母版页,然后引用了新的母版页,不知道怎么的母版页有问题了,再也进不去站点了,希望修改回旧的母版页. 看到问题,想了一下,其实两种方 ...
- SharePoint PowerShell部署开发好的WebPart到服务器上
内容仅供参考,需结合实际需求来处理. =========SharePoint 环境下运行ps1文件,ps1内容如下======= Set-ExecutionPolicy ByPass Add-PSSn ...
- SharePoint PowerShell 创建网站栏
前言 最近,有这么个需求,需要使用PowerShell为网站集创建网站栏,好吧,直接看代码吧. Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorA ...
随机推荐
- 【Android】Android 多个APK数据共享
Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户(Android 系统是基于Linux)的.所以不同APK(用户)间互相访问数据默认是 ...
- Centos6.5系统压力测试过程大量TIME_WAIT
统计tcp状态的命令: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat -n | awk '/ ...
- Python hasattr,getattr,setattr,delattr
#!/usr/bin/env python # -*- coding:utf-8 -*- # 作者:Presley # 邮箱:1209989516@qq.com # 时间:2018-11-04 # 反 ...
- 002 Hello Spring Security
在前面已经搭建过环境框架,现在在demo模块下写一个简单的案例,让整个环境跑起来. 一:启动Demo项目 1.新建类 在这前,先建立包. 2.启动类程序 package com.cao; import ...
- 用greenlet实现协程消费者生产者
代码: from greenlet import greenlet import random def pro(): 生产者 while True: item = random.randint(0,9 ...
- TF之NN:matplotlib动态演示深度学习之tensorflow将神经网络系统自动学习并优化修正并且将输出结果可视化—Jason niu
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def add_layer(inputs, in_ ...
- 20172328《程序设计与数据结构》实验三 敏捷开发与XP实践报告
20172328<程序设计与数据结构>实验三 敏捷开发与XP实践报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志强 ...
- 002.LVS管理工具的安装与使用
一 安装IPVS 可通过源码安装或yum安装,源码包如下: http://www.linuxvirtualserver.org/software/ipvs.html [root@lvsmaster ~ ...
- Xamarin Essentials教程打开文件
Xamarin Essentials教程打开文件 FileSystem类的OpenAppPackageFileAsync()方法可以用来打开App包中特定的文件,其语法形式如下: public sta ...
- 手机端input获取焦点弹出键盘时挡住input解决方案
问题重现 原始页面:页面中有header.main.footer三部分,其中 header 和 footer 通过 position: fixed; 定位在浏览器顶部和底部. 其中,footer 中有 ...