SharePoint:如何批量簽入(Check in)文檔?
通過企業內部的各項評估和調研,多數企業都選擇SharePoint 平臺作為企業內外部社交、協同辦公、知識文檔管理系統平臺。
但部分企業IT管理員部署完SharePoint平臺後,由各個部門管理員進行知識等信息數據架構設置時,往往會遇到一個場景:
用戶需求場景:
部門管理員為了應終端用戶的需求:多人協作編輯文檔需個人編輯完成之後,其他人可見再次編輯,管理員為實現需求在若幹文檔庫啟用“簽入和簽出”功能,比如SoW 文檔庫,項目Proposal文檔庫等需要多人協作的文檔庫。
存在隱患:
但滿足用戶需求的情況下,往往管理員會忽略了將原始的“傳統的知識管理系統”,比如File Server或者FTP Server中的結構化和非結構化文檔批量導入SharePoint特定的文檔庫的情況,未在導入文檔前關閉“簽入和簽出”功能,導致文檔批量導入後全部是簽出狀態,意味著其他終端用戶無法訪問這些簽出的文檔,若把文檔改成簽入狀態,單個文檔進行修改,勢必增加管理員的工作量,那麽如何能實現批量簽入的需求呢?
解決方案:
多個企業用戶管理員曾咨詢過我這類問題,這裏分享下解決方案: 用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)
$CheckedOutFiles = $DocLib.Items | Where-Object { $_.File.CheckOutStatus -ne "None"}
ForEach($item in $CheckedOutFiles) { $DocLib.GetItemById($item.Id).file.CheckIn("Checked in by cp01\administrator") }
說明:Checked in by是指用哪個用戶做批量簽入,使用管理員賬戶。
希望本文對大家有幫助,若大家在使用和操作上遇到其他問題,歡迎線下討論和咨詢。
SharePoint:如何批量簽入(Check in)文檔?