2012-04-02 5 views
2

Der Powershell-Code unten gibt eine Liste der Changesets zurück. Ich würde gerne jedes Änderungsset durchlaufen, um auf die Eigenschaften zugreifen zu können.Schleife durch Änderungssätze nach Get-TfsItemHistory - Powershell

$items = Get-TfsItemHistory $tfsProject -Version "D$lastChangeDateTime~" -Recurse -Server $tfs -IncludeItems 

Zum Beispiel

foreach($item in $items) 

{ 

    Write-Host $item.ServerItem 
} 

Ich glaube, die ServerItem Eigenschaft auf dem Server den Pfad der geänderten Datei enthält. Es gibt andere Eigenschaften, auf die ich gerne zugreifen würde. Jede Hilfe dazu wäre willkommen. Der Zweck davon ist, die Dateien bereitzustellen, die in jedem Änderungsset zugeordnet sind. Ich werde sie auf den Server kopieren und brauche Zugriff auf andere Eigenschaften für Benachrichtigungen, Kommentare und andere Dinge.

Antwort

1

versuchen in der foreach

$Item | get-member 

oder einfach

$items[0] | get-member # if is an array 

eine Liste von Eigenschaften und Methoden, die im Objekt abzurufen.

+0

Hey Christian, Danke für die Antwort. Das get-Member gab eine Liste mit verschiedenen Methoden/Eigenschaften und einer Erklärung des Membertyps zurück. Es gab keine der Werte auf dem Artikel. – Akin

+0

Sicher! Eine Liste von Eigenschaften und/oder Methoden Ihres Objekts $ item. Nachdem Sie die Eigenschaften kennen, können Sie sie in Ihrem Skript verwenden. –

+0

Ok, danke Christian, ich sehe, worauf du hinauskommst. Ich habe eine andere Frage, wenn das für dich in Ordnung ist. Wenn ich ein $ items-Array in die Konsole schreiben würde, sehe ich eine Serveritem-Eigenschaft. Ich glaube nicht, dass ich auf diese Eigenschaft zugreifen kann, indem ich eine der Eigenschaften des Get-Members verwende. Ich sehe diese Eigenschaft wieder, wenn ich $ item.Changes mache. Wie kann ich darauf zugreifen? Mache ich etwas wie $ item.Changes.Serveritem? – Akin