none
Felder von Inhaltstypen per PowerShell befüllen SP2010 RRS feed

  • Allgemeine Diskussion

  • Guten Morgen,

    ich mache zwar schon viel mit PowerShell im SharePoint Umfeld, komme hier aber nicht mehr weiter. Ich setze SharePoint 2010 ein und möchte ein Dokument (vom Inhaltyp "Test") mit allen Feldwerten des Inhaltstyps in eine andere Dokumentenbibliothek kopieren.

    Dabei gehe ich aktuell so vor:

    Ich hole mir aus der Source Bibliothek die Dokumenten-ID, welche dem Script bekannt ist und lese dann die Feldwerte aus

    $contenttype = $draftitem.ContentType.Name
    $title = $draftitem.Title
    $number = $draftitem.properties['Nummer']
    $class = $draftitem.properties['DokumentenklasseTaxHTField0']
    $subject = $draftitem.properties['Subject']
    $scope = $draftitem.properties['Scope']
    $inspector = $draftitem.properties['Prüfer']

    $author = $draftitem.properties['vti_author']

    Dann gehe ich in die Destination Bibliothek und möchte die Werte dort setzen. Das Zieldokument suche in anhand der URL (also eigentlich Ordnername und Dateiname) und hole mir dann die ID des Dokuments.

    Die Feldwerte zu setzen versuche ich dann mit:

    $NewContentType = $pubList.ContentTypes[$ContentType]

    $publist=$web.Lists["pubde"]
    $pubitem = $publist.Items | where {$_.Url -eq $destinationfile}
    $pubitem = $publist.GetItemByID($Pubitem.ID)
    $pubitem.File.CheckOut()
    $pubitem["ContentTypeId"] = $NewContentType.Id
    $pubitem.properties['Nummer'] = $number
    $pubitem.properties['DokumentenklasseTaxHTField0'] = $class
    $pubitem.properties['Subject'] = $subject
    $pubitem.properties['Scope'] = $scope
    $pubitem.properties['Prüfer'] = $inspector
    $replacedUser =$web.EnsureUser($author)
    $pubitem['Author'] = $replaceduser

    Es klappt jedoch nie bei nicht Office Dokumente. Dort wird der Inhaltstyp nicht gesetzt und auch die anderen Spalten werden nicht befüllt.

    Hat da jemand eine Idee wie und wo ich die richtigen Felder finde und diese Befülle?

    Gruß Thomas

    Dienstag, 1. August 2017 09:19

Alle Antworten