2016-03-27 15 views
0

Bir dosya kitaplığında Powershell'i kullanarak dosyanın son YAZILIM saatini almak mümkün mü?Son yazım süresini SharePoint'te Powershell aracılığıyla alabilir miyim?

$url = "http://myserver/sites/mysite/shared%20documents/myfile.xlsx" 
$webclient = New-Object System.Net.WebClient 
$lastWriteTimestamp = #... 
+0

SharePoint'e özel sorular için, lütfen SharePoint Yığın Değişimi (http://sharepoint.stackexchange.com) sitesine bakın. –

+1

@P S: Sorunun, PowerShell'e özel cmdlet işlevleri ile ilgili olduğu düşünüldüğünde, SharePoint SE portalında çok fazla yardım görmüyorum. Bu soru PowerShell ile ilgili farkındalığı olmayan biri olmadan yanıtlanamaz, bu nedenle muhtemelen bu kişiyi buraya geri gönderirlerdi. – gravity

cevap

0

yapabilirsiniz Evet, SPFile.TimeLastModified Mülkiyet kaydedildi oluyor. Test etmek için şu anda bir SharePoint yüklemesine erişimim yok, ancak betik bu sözde kod gibi bir şeye benziyordu.

Add-PSSnapin Microsoft.SharePoint.Powershell 
$web = Get-SPWeb "http://mywebname/" 
$list = $web.Lists["Documents"] 
$item = $list.GetItemById(1) 
$lastWriteTime = $item.TimeLastModified 

Düzenleme: netleştirin için; SharePoint PowerShell ek bileşeni yalnızca SharePoint yüklü sunucularda çalışır, uzaktan kullanılamaz. Ayrıca, kullanıcının ilgili veritabanında SPShellAdmin iznine sahip olmasını gerektirir.

Bu özelliğe uzak bir oturumdan erişmeniz gerekiyorsa, yine de Microsoft.SharePoint.Client.dll dosyasına erişmenizi gerektiren CSOM (istemci tarafı nesne modeli) kullanmanız gerekir.

Burada CSOM ile erişmek için bir sözdizim kodu sürümü var, yine de bunu test etmek için bir SharePoint yüklemesine erişimim yok, ancak böyle bir şey olacak. Ya CSOM kullanmak mümkün değilse

$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 

, o zaman Bu standart WebClient çağrıları kullanılarak erişilebilir değil son değişiklik zamanı almak mümkün olmayacaktır korkuyorum.

+0

Bu, PowerShell'in hangi sürümü için geçerli olduğunu açıklayabilir misiniz? OP, 2.0'a kadar benim için çalışmadığı için seviyenize olmayabilir. – gravity

+0

CSOM'u SharePoint Online'a karşı kolayca kullanabilirsiniz ve etrafınızda çok sayıda örnek vardır. Ayrıca, PowerShell için [PnP] (https://github.com/OfficeDev/PnP-powershell) kitaplıklarını da kontrol etmelisiniz, çünkü bunlar genellikle CSOM'u daha kolay kavramaktır. –

İlgili konular