自从中国国家标准委员会就知识管理模型定位以后,不少企业早些年启用了“传统的知识管理”的模式管理企业结构化和非结构化文档,但在现阶段,不少企业应其自己的快速发展以及应用趋势的须要,逐渐寻求和关注显性知识的“传统的知识管理”平台步入关注“知识共享”和“社交学习并重”转变的解决方案。shell
经过企业内部的各项评估和调研,多数企业都选择SharePoint 平台做为企业内外部社交、协同办公、知识文档管理系统平台。架构
但部分企业IT管理员部署完SharePoint平台后,由各个部门管理员进行知识等信息数据架构设置时,每每会遇到一个场景:ide
部门管理员为了应终端用户的需求:多人协做编辑文档需我的编辑完成以后,其余人可见再次编辑,管理员为实现需求在若干文档库启用“签入和签出”功能,好比SoW 文档库,项目Proposal文档库等须要多人协做的文档库。学习
但知足用户需求的状况下,每每管理员会忽略了将原始的“传统的知识管理系统”,好比File Server或者FTP Server中的结构化和非结构化文档批量导入SharePoint特定的文档库的状况,未在导入文档前关闭“签入和签出”功能,致使文档批量导入后所有是签出状态,意味着其余终端用户没法访问这些签出的文档,若把文档改为签入状态,单个文档进行修改,势必增长管理员的工做量,那么如何能实现批量签入的需求呢?blog
多个企业用户管理员曾咨询过我这类问题,这里分享下解决方案: 用PowerShell的cmdlet对文档进行批量签入。(本文适用于SharePoint Server 2013,2016,2019)文档
$WebURL="http://cpshelley:9001/sites/Project_Shelley"
$LibraryName="shelley" 部署
$Web = Get-SPWeb $WebURL
$CheckedOu$DocLib = $Web.Lists.TryGetList($LibraryName)get
$CheckedOutFiles = $DocLib.Items | Where-Object { $_.File.CheckOutStatus -ne "None"}cmd
ForEach($item in $CheckedOutFiles) { $DocLib.GetItemById($item.Id).file.CheckIn("Checked in by cp01\administrator") }it
说明:Checked in by是指用哪一个用户作批量签入,使用管理员帐户。
但愿本文对你们有帮助,若你们在使用和操做上遇到其余问题,欢迎线下讨论和咨询。