PowerShell - iteratieren Sie durch alle Bahnen, dann durch alle Listen, dann fügen Sie eine Spalte hinzu, in der eine Liste ein bestimmter Name ist

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96719

  •  10-12-2019
  •  | 
  •  

Frage

Ich versuche, ein Skript zusammenzustellen, das alle Bahnen in einer Site-Sammlung durchführen soll, und dann durch alle Listen in diesen Bahnen, dann fügen Sie eine Spalte hinzu, in der eine Liste einen bestimmten Namen hat.

Das habe ich bisher: generasacodicetagpre.

Dies ist der Fehler, den ich bekomme:

Sie können keine Methode auf einem null geschätzten Ausdruck anrufen.Beim C: \ skripts \ addcalc.ps1: 24 char: 22 + $ splist.fields.add <<<< ("calc", "berechnet", 0) + KategorieInfo: Invalidoperation: (Hinzufügen: String) [], RuntImeexception + VollständigQualifiedErorrid: Invokemethodonnull

Ich bin mir sicher, weil ich nicht durch die Bahnen und dann durch die Eigenschaft der Listen identifiziere.Was ist der richtige Weg, um zu erreichen, was ich versuche?

War es hilfreich?

Lösung

Erster - Sie müssen den generationspflichtigen Löschen, dann finden Sie die Liste mit

foreach ($list in $spsite.AllWebs)

oder

$list = $web.Lists["InternalNameOfTheList"] und nach der Fügen Sie die Spalte mit hinzu generasacodicetagpre.

und entsäueres SPWEB-Objekt, nachdem Sie es verwendet haben, wie Sie es für ein spaltes Objekt tun.

Andere Tipps

Danke Andrey.Ihr Vorschlag führte mich den richtigen Weg hinunter.Hier ist die endgültige Arbeitsversion des Skripts, die die ursprüngliche Frage löst. generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top