博客
关于我
PowerShell 批量签入SharePoint Document Library中的文件
阅读量:797 次
发布时间:2023-03-04

本文共 1557 字,大约阅读时间需要 5 分钟。

PowerShell批量签入SharePoint文档库中的文件

在使用SharePoint文档库时,某些场景可能会导致文件默认进入“编辑前签出”状态。这种情况尤其会影响批量导入文件的工作流程,手动处理效率极低。本文将介绍一种使用PowerShell批量签入文档库中的文件的解决方案。

问题描述

当文档库启用了“编辑前签出”功能时,批量导入文件时,默认会将所有文件设置为“编辑前签出”状态。这种情况会导致后续的文件管理工作变得异常麻烦。为了避免这一问题,我们可以利用PowerShell编写脚本,自动完成批量签入操作。

解决方案

以下是实现批量签入的PowerShell脚本示例:

Add-PSSnapin Microsoft.SharePoint.PowerShellfunction CheckInDocument([string]$url) {    $spWeb = Get-SPWeb $url    $spDocument = $spWeb.Lists.TryGetList("Documents")    Write-Host "需要签入文件的文档库: $($spDocument.Title)"    $files = $spDocument.CheckedOutFiles    Write-Host "需要签入的文件个数: $($files.Count)"    $files | where { $_.CheckOutStatus -ne "None" } | % {        $_.TakeOverCheckOut()        $docItem = $spDocument.GetItemById($_.ListItemId)        $docItem.File.CheckIn("Administrator Check In")        Write-Host "$($docItem.File.Name) Check In" -ForegroundColor Green    }    $spWeb.Dispose()}CheckInDocument("http://reus")

####脚本功能说明

  • 模块加载:首先加载SharePoint的PowerShell模块。
  • 函数定义:定义名为CheckInDocument的函数,接收文档库的URL参数。
  • 获取文档库:使用Get-SPWeb获取 SharePoint 网站,TryGetList("Documents")获取“文档”列表。
  • 输出信息:显示需要签入的文档库名称及文件总数。
  • 筛选文件:筛选出处于“编辑前签出”状态的文件。
  • 批量签入:对每个文件调用TakeOverCheckOut,获取签入权限,随后通过CheckIn方法将文件签入文档库。
  • 信息反馈:每次签入文件时显示操作结果。
  • 资源释放:最后释放获取的 SharePoint 网站资源。
  • 使用说明

  • 将脚本保存为.ps1文件。
  • 在 SharePoint 服务器上或在能访问目标文档库的计算机上打开 PowerShell 界面。
  • 将脚本路径或URL 参数传递给CheckInDocument函数:
    .\CheckInDocument.ps1 "http://[YourSite]"
  • 执行脚本后,系统会自动签入所有处于“编辑前签出”状态的文件。
  • 这种方法能够显著提升文件管理效率,适用于需要频繁批量签入文件的场景。

    注意事项

    • 请确保脚本中的URL 参数指向有效的 SharePoint 网站地址。
    • 如遇到权限问题,请确保 PowerShell 运行时具有必要的 SharePoint админ权限。
    • 在生产环境中执行脚本前,请先在测试环境中验证其正确性。

    转载地址:http://blxfk.baihongyu.com/

    你可能感兴趣的文章
    poj 3468 A Simple Problem with Integers(线段树 插线问线)
    查看>>
    poj 3485 区间选点
    查看>>
    poj 3518 Prime Gap
    查看>>
    poj 3539 Elevator——同余类bfs
    查看>>
    Qt笔记——官方文档全局定义(三)Macros宏
    查看>>
    poj 3628 Bookshelf 2
    查看>>
    Qt笔记——官方文档全局定义(一)Types数据类型
    查看>>
    POJ 3670 DP LIS?
    查看>>
    POJ 3683 Priest John's Busiest Day (算竞进阶习题)
    查看>>
    POJ 3988 Selecting courses
    查看>>
    POJ 4020 NEERC John's inversion 贪心+归并求逆序对
    查看>>
    poj 4044 Score Sequence(暴力)
    查看>>
    POJ 基础数据结构
    查看>>
    POJ 题目3020 Antenna Placement(二分图)
    查看>>
    Poj(1797) Dijkstra对松弛条件的变形
    查看>>
    SpringBoot为什么不需要xml配置文件?
    查看>>
    POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
    查看>>
    Qt笔记——SQLite初探QSqlDatabase QSqlQuery
    查看>>
    POJ-1163-The Triangle
    查看>>
    POJ-Fence Repair 哈夫曼树
    查看>>