none
Übernehmen von ausgecheckten Dateien im großen Umfang RRS feed

  • Frage

  • Hallo,

    Unsere SharePoint Umgebung braucht mal wieder eure Hilfe :-)

    Wir haben einige Bibliotheken in denen sehr sehr viele Dateien liegen die ausgecheckt sind und/oder keine Majorversion haben.

    Nun existieren einige User nicht mehr und wir müssen diese Altlasten wieder sichtbar machen für andere User, da wir aktuell nur an die Dateien über die Library Settings kommen.

    Es sind aber soviele Dateien das man nicht mehr einfach den Besitz dieser Dateien übernehmen kann als Admin.

    Daher meine Frage an euch:

    Gibt es eine Möglichkeit, auch mittels Script, alle diese Dateien auf einen Schlag auf einen User zu übertragen damit dieser sich die Dateien ansehen kann?

    Vorab schon einen großes Danke für alle Ideen

    Mfg

    Monster

    Mittwoch, 22. Februar 2017 08:27

Antworten

  • Hi Monster,
    natürlich kann man das mit einem PowerShell Script recht komfortabel losen. Im Script wird die Verbindung zur betreffenden Bibliothek aufgebaut (bzw. Bibliotheken), in einer Schliefe werden alle Dokumente aufgerufen, die betreffenden Dokumente "gefiltert", in denen dann die gewünschten Zustände/Eigenschaftswerte neu gesetzt werden.

    Dasselbe kann man auch mit einer Core-Anwendung machen (VB.NET oder C#.NET), die dazu gleichfalls zu programmieren ist.

    Alternativ kann man auch ein Add Inn mit der Funktionalität programmieren und über den SharePoint Store bereitstellen (ab 2013 möglich).

    Letztendlich kann man auch eine Anwendung mit Nutzung des Client Objekt Models programmieren.

    Welche der Wege für Euch in Betracht kommen kann, hängt vom Kenntnisstand der Mitarbeiter ab. Alternativ kann dieser Auftrage natürlich auch an eine Fremdfirma gegeben werden. Wenn die Anforderungen nicht allzu umfangreich sind, ist der Aufwand nicht sehr hoch.


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 22. Februar 2017 08:42

Alle Antworten

  • Hi Monster,
    natürlich kann man das mit einem PowerShell Script recht komfortabel losen. Im Script wird die Verbindung zur betreffenden Bibliothek aufgebaut (bzw. Bibliotheken), in einer Schliefe werden alle Dokumente aufgerufen, die betreffenden Dokumente "gefiltert", in denen dann die gewünschten Zustände/Eigenschaftswerte neu gesetzt werden.

    Dasselbe kann man auch mit einer Core-Anwendung machen (VB.NET oder C#.NET), die dazu gleichfalls zu programmieren ist.

    Alternativ kann man auch ein Add Inn mit der Funktionalität programmieren und über den SharePoint Store bereitstellen (ab 2013 möglich).

    Letztendlich kann man auch eine Anwendung mit Nutzung des Client Objekt Models programmieren.

    Welche der Wege für Euch in Betracht kommen kann, hängt vom Kenntnisstand der Mitarbeiter ab. Alternativ kann dieser Auftrage natürlich auch an eine Fremdfirma gegeben werden. Wenn die Anforderungen nicht allzu umfangreich sind, ist der Aufwand nicht sehr hoch.


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 22. Februar 2017 08:42
  • Hallo Peter,

    Vielen Dank erst einmal für deine Antwort.

    Wie sieht den so ein Script aus?^^ Das hätte ich vielleicht eher Fragen sollen

    Mfg

    Monster

    Mittwoch, 22. Februar 2017 09:05
  • Hi,
    im Internet gibt es da sehr viele Beispiele. Für ein Dokument sieht beispielsweise die Änderung des Namens so aus:

    $spWeb = Get-SPWeb -Identity http://deinWeb
    $spList = $spWeb.Lists["DeineBib"]
    $spItem = $spList.GetItemById(10013)
    $spItem["Name"] = "neuenName"
    $spItem.Update()

    Um alle Dateien eine Bibliothek zu ändern, muss man einfach eine Schleife bilden, z.B. so als Client Script:

    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($WebUrl)
    $Context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($User, (ConvertTo-SecureString $Pass -AsPlainText -Force))
    
    #Get the Necessary List
    $List = $Context.Web.Lists.GetByTitle("DokBib")
    
    $Query = [Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery(100); 
    $Items = $List.GetItems($Query);
    
    $Context.Load($Items);
    $Context.ExecuteQuery();
    
    #Edit existing list items
    foreach($item in $Items)
    {
        if($item["Export_x0020_Flag"] -eq "New")
        {
            $item["Export_x0020_Flag"] = "Complete"
            $item.Update()
            $Context.ExecuteQuery();
        }
    }


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 22. Februar 2017 09:57
  • Super, guck ich mir mal an.

    Mfg

    Monster

    Mittwoch, 22. Februar 2017 11:32