2016-03-27 11 views
0

Powershellを使用して、ドキュメントライブラリ内のファイルの最後のWRITE時刻を取得することはできますか?Powershell経由でSharePointにファイルの最終書き込み時間を取得できますか?

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

SharePoint固有の質問については、SharePoint Stack Exchange(http://sharepoint.stackexchange.com)のサイトを参照してください。 –

+1

@P S:PowerShell特有のコマンドレット機能に関する問題を鑑みると、SharePoint SEポータルでは多くのヘルプが存在することはありません。 この質問には、PowerShellを認識している人がいなければ答えられない可能性があるので、ここで質問者を送った可能性があります。 – gravity

答えて

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を使用できない場合は、その後、私はあなたがそれは、標準のWebクライアントの呼び出しを使用してアクセスすることはできません最終更新時刻を取得することができません怖いです。

+0

これに該当するPowerShellのバージョンを明確にすることはできますか? OPはあなたのレベルまでではないかもしれません。これは2.0で私にとってはうまくいきません。 – gravity

+0

SharePoint Onlineに対してCSOMを使用することは非常に簡単で、多くの例があります。 PowerShell用の[PnP](https://github.com/OfficeDev/PnP-powershell)ライブラリもチェックする必要があります。一般的に、CSOMを使いこなせるようになっています。 –

関連する問題