是否可以通过使用Powershell获取文档库中文件的最后WRITE时间?
$url = "http://myserver/sites/mysite/shared%20documents/myfile.xlsx"
$webclient = New-Object System.Net.WebClient
$lastWriteTimestamp = #...
答案 0 :(得分:0)
是的,你可以,它被记录在SPFile.TimeLastModified财产中。 此刻我无法访问SharePoint安装进行测试,但脚本看起来就像这个伪代码。
Add-PSSnapin Microsoft.SharePoint.Powershell
$web = Get-SPWeb "http://mywebname/"
$list = $web.Lists["Documents"]
$item = $list.GetItemById(1)
$lastWriteTime = $item.TimeLastModified
修改强> 澄清; SharePoint PowerShell管理单元仅适用于安装了SharePoint的服务器,不能远程使用。它还要求用户对相关数据库具有SPShellAdmin权限。
如果需要从远程会话访问该属性,则必须使用CSOM(客户端对象模型),这仍然需要您访问Microsoft.SharePoint.Client.dll。
这是一个用于访问CSOM的伪代码版本,我再也无法访问SharePoint安装来测试它,但它会是这样的。
$creds = Get-Credential
Add-Type –Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type –Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
$siteUrl = “http://mywebname/”
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$ctx.Credentials = $creds
$web = $ctx.Web
$lists = $web.Lists
$ctx.Load($lists)
$ctx.ExecuteQuery()
$item = $lists["Documents"].GetItemById(1)
$lastModified = $item.File.TimeLastModified
如果您也无法使用CSOM,那么我担心您无法检索上次修改时间。使用标准WebClient调用无法访问它。