我们如何在2010年SharePoint Foundation中激活审计?
-
16-10-2019 - |
题
我们正在尝试将SharePoint审核设置为 列出项目的审核阅读 并且在寻找如何打开它时遇到问题。
基础版本是否支持?如果是这样,我们如何激活它?
解决方案
WSS3或SharePoint Foundation中没有审核用户界面。 (非常)基本接口和报告设施是MOSS 2007和SharePoint Server 2010的一部分。
但是,您可以在SharePoint Foundation上以编程方式进行审核。这不提供任何报告设施,您需要写自己的报告。
作为一个背后的作者之一 第三方SharePoint审核工具 我已经对此进行了彻底的调查,请考虑以下内容:
- 审计与SharePoint的免费版本和付费版本相关,这是深深的缺陷。有许多情况根本没有审核或不正确审核。
- 审计数据以非常神秘的方式存储。即使使用SharePoint版本的“付费”版本附带的报告设施,信息也很难解释。还会报告超时 /导致错误的频率。
如果您认真对待审计 获取第三方解决方案. 。正如我提到的,我在一家提供此类解决方案的公司工作,因此通常的免责声明适用。
其他提示
我知道这是一个古老的帖子,但是我有相同的要求,我刚刚使用PowerShell进行了编程实现:
1)打开项目级审核。
# Select site
$web = Get-SPWeb http://yoursiteurlhere
# Select document library
$library = $web.lists | Where { $_.Title -eq "Your Doc. Lib. Title Here" }
# Select and loop through library items
$items = $library.items
foreach($item in $items) {
# List current audit flags for item
Write-Host $item.Name $item.Audit.AuditFlags
# Modify audit flags for item
$item.Audit.AuditFlags = [Microsoft.SharePoint.SPAuditMaskType]::View
$item.Audit.Update()
# List new audit flags to confirm change
Write-Host $item.Name $item.Audit.AuditFlags
}
# Dispose of SPWeb variable
$web.Dispose()
2)检索日志条目
# Write header row
Write-Host "File,User,Date/Time,Event,Version"
# Select site
$web = Get-SPWeb http://yoursiteurlhere
# Select document library
$library = $web.lists | Where { $_.Title -eq "Your Doc. Lib. Title Here" }
# Loop through each library item
$items = $library.items
foreach($item in $items) {
# Loop through each audit entry
$entries = $item.Audit.GetEntries()
foreach($entry in $entries) {
# Select the properties from the audit log you want
$file = $entry.DocLocation
# Resolve audit log user ID to SharePoint site user name
$userName = $web.SiteUsers.GetByID($entry.UserId).Name
$dateTime = $entry.Occurred
$event = $entry.Event
$version = $entry.EventData
# Output selected log data
Write-Host "$file,$userName,$dateTime,$event,$version"
}
}
# Dispose of SPWeb variable
$web.Dispose()
该脚本将结果输出为逗号分隔的文本,以便可以复制并粘贴或输出到CSV。 警告: EventData属性中列出的文档版本可能在更改时通过SharePoint站点可见的版本历史记录编号不匹配。
修改脚本
这些脚本将打开审核并检索库/列表中所有项目的日志。如果您需要针对文档库中的特定文档或列表中的单个项目,请对项目名称进行查询,而不是使用foreach循环浏览列表/库中的所有项目。例如
$item = $library.items | where { $_.Name -eq "YourFileName.doc" }
看到 MSDN Spauditentry页面 有关属性的完整列表,您可以从审核日志中选择。
看到 MSDN SpauditMaskType页面 对于可以设置的审核标志的完整列表。要设置多个标志,请将它们列出在由位或操作员分隔的一行中:'-bxor'。例如
$item.Audit.AuditFlags = [Microsoft.SharePoint.SPAuditMaskType]::View -bxor [Microsoft.SharePoint.SPAuditMaskType]::Update -bxor [Microsoft.SharePoint.SPAuditMaskType]::Delete
您需要更改 spaudit.auditflags 通过编程性属性(有关示例,请参见链接的文章)。
有一个CodePlex项目可以通过功能为SharePoint Foundation切换此设置。它还提供了一些可用于查看浏览器中的审核日志的Nifty UI,其中包括一个有用的功能,可以从欧洲央行菜单选项中查看单个项目的日志条目。
SharePoint 2010基金会的AuditLoghttp://auditlogsp.codeplex.com/