2016-05-09 39 views
0

Ich versuche, Dokumente zu löschen, die vor 15 Tagen mit powershell geändert wurden. Jetzt kann ich das Dokument mit dem folgenden Code löschen: powershell. Jetzt ist die Anforderung vor dem Löschen des Dokuments, ich muss den Dateinamen mit dem geänderten Datum an eine Protokolldatei senden. So wie kann ich den Dateinamen und das Änderungsdatum abrufen, bevor Sie jedes Dokument löschen. Mein Code ist wie folgt:Abrufen von SharePoint-Dateidetails mit Power Shell?

$DeleteBeforeDate = [Microsoft.SharePoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([DateTime]::Now.AddDays(-15)) 
      $caml= '<Where> <Lt> <FieldRef Name="Modified" /><Value Type="DateTime">{0}</Value> </Lt> </Where>' -f $DeleteBeforeDate 
      $query=new-object Microsoft.SharePoint.SPQuery 
      $query.Query=$caml 
      if($list.Items.Count -gt 0) 
      { 
      $collListItems=$list.GetItems($query) 
      } 
      $count = $collListItems.Count - 1 

     for($intIndex = $count; $intIndex -gt -1; $intIndex--) 
     { 
     "Deleting record: " + $intIndex 
     #Write-Host $collListItems.($intIndex)("ID"); 

     $collListItems.Delete($intIndex); 
     } 

Vielen Dank im Voraus !!!!!

Antwort

0

Sie sollten die Metadaten durch den SPListItem erhalten können:

$collListItems[$intIndex]["FileRef"] 
$collListItems[$intIndex]["Modified"] 

Oder mit einem zusätzlichen Schritt:

$listitem = $collListItems[$intIndex] 
$title = $listitem["Title"] 
$modified = $listitem["Modified"] 

Der Spaltenname zwischen [] ist nur der statische Name der Felder

Weitere Informationen: http://social.technet.microsoft.com/wiki/contents/articles/20831.sharepoint-a-complete-guide-to-getting-and-setting-fields-using-powershell.aspx#Displaying_all_the_fields

Verwandte Themen