一次co-work

SharePoint Designer发布工作流:

  1. 在此期间,SharePoint Designer会调用对应站点的Web Service将工作流定义以及配置上传到SharePoint站点的workflows隐藏列表中。
  2. 然后,SharePoint Designer会继续调用Web Service将此工作流定义关联到相应的列表。
  3. 如果此操作出现问题,可供分析的工具及日志如下:

a)         SharePoint 2013 Manager -à 查看站点的workflows隐藏列表内容是否有希望发布的工作流定义文件

b)         Fiddler --à查看发布工作流时SharePoint Designer发出的HTTP请求以及内容

c)         SharePoint详细日志 à 如果发布过程中出现错误,该错误必定包含在Fiddler日志和SharePoint详细日志中。

SharePoint启动工作流:

  1. 启动工作流出现错误时,可查看启动过程中的Fiddler日志和SharePoint详细日志。根据Fiddler日志中工作流启动页面IniWrkflIP.aspx的Correlcation Id在SharePoint详细日志中查看相关信息进行分析。

通常情况下,启用SharePoint详细日志基本不会对SharePoint场性能产生影响(PS:开启详细日志会增加日志的写入量,增加磁盘的I/O请求量)

有关收集SharePoint日志的方式, 可使用合并收集的方式以提供效率:

A. 在任意 SharePoint服务器上以管理员权限运行 PowerShell并加载SharePoint 模块

Add-PSSnapin Microsoft.SharePoint.PowerShell  -EA 0

B. 启用详细日志

Set-SPLogLevel -TraceSeverity verboseex

$startTime = Get-Date

C. 重现所需要收集日志的过程 ,  请截图保留相关的信息 , 如错误信息 , 关联 ID, URL等 . 注意记录问题重现的开始时间点 ,结束时间点.

D. 合并日志(请注意将Path修改为较大剩余空间的硬盘分区)

$endTime = Get-Date

Merge-SPLogFile -Path C:\ULSLog.log -StartTime $startTime -EndTime $endTime -Overwrite

$startTime = Get-Date -Year 2017 -Month 6 -Day 20 -Hour 11 -Minute 8

$endTime = Get-Date -Year 2017 -Month 6 -Day 20 -Hour 11 -Minute 12

Merge-SPLogFile -Path C:\ULSLog0620.log -StartTime $startTime -EndTime $endTime -Overwrite

E. 将日志详细级别复原

Clear-SPLogLevel

F. 合并收集也可利用Correlcation Id进行过滤:

Merge-SPLogFile -Path C:\ULSLog.log -Correlation <Id>

G. 针对List 启动/关闭Audit

  $url = "http://xxxxx.com"

  $web = Get-SPWeb $url

  $wfLib = $web.Lists["workflows"]

  $auditMask = [Microsoft.SharePoint.SPAuditMaskType]::Delete

  $wfLib.Audit.AuditFlags = $auditMask

  $wfLib.Audit.Update()

  $wfLib.Audit

问题发生后, 查看相应的内容数据库中的AuditData表可找到相关记录

将AuditFlags设置为None即可。脚本如下:

  $url = "http://xxxxxxx.com"

  $web = Get-SPWeb $url

  $wfLib = $web.Lists["workflows"]

  $auditMask = [Microsoft.SharePoint.SPAuditMaskType]::None

  $wfLib.Audit.AuditFlags = $auditMask

  $wfLib.Audit.Update()

G. 获取List及相关属性.

  url = "web url"

  $web = Get-SPWeb $url

  $web.Lists | Select Title, ID > lists.txt

  $web.Lists | Select SchemaXML |fl  >> lists.txt

  $list =  $web.GetListFromUrl("http://oa.geely.com/sites/jtxxglyfwzx/ITIL/Lists/List4/AllItems.aspx")

  $list.WorkflowAssociations > wa.txt

  .\lists.txt

  .\wa.txt

时间: 2024-10-19 00:18:49