Der Zugriff auf TFS von Powershell
Ich bin neu in PowerShell, und ich bin versucht, um Zweige von TFS und mischen Sie Sie mit einem PowerShell-Skript. Leider bin ich in Ermangelung eines erste Hürde.
Ich habe Visual Studio 2010 Installation auf meinem lokalen Rechner und können Zugriff auf den TFS-server (auch 2010) in Ordnung.
Mir läuft der script von meiner lokalen Maschine und die folgenden Zeilen:
$tfs = get-tfs http://TFSServerName:8080/TFSProject
$branchfolders = $tfs.VCS.GetItems('$/Dev/Branches/', $tfs.RecursionType::OneLevel)
und ich bekomme folgende Fehlermeldung in der zweiten Zeile 2 oben
Ausnahme beim aufrufen von "GetItems" mit "2" argument(s): "Unable to connect to remote server"
Habe ich so konfiguriert das TFS-server akzeptieren eingehende verbindungen auf port 8080, das funktioniert, aber ich bin jetzt nicht sicher, wie dieser Fehler behoben werden. Ist eine weitere Konfiguration erforderlich ist?
Vielen Dank für jede Hilfe gegeben.
- ich wirklich empfehlen Sie C# verwenden zum automatisieren arbeiten mit der TFS api ist nett.
- Cool. Halten, dass im Auge, aber tun Sie es in der powershell.
- Was passiert, wenn Sie
$tfs.EnsureAuthenticated()
? Auch, um diese Arbeit auf meinem Rechner, ich hatte voll qualifizieren, die TFS-Server-name (z.B.$tfs = get-tfs http://tfs:8080
) - Hey, ich bin mit dem voll qualifizierten Pfad und ich habe versucht, die EnsureAuthenticated Methode und erhalten: MemberType : Method OverloadDefinitions : {System.Void EnsureAuthenticated()} TypeNameOfValue : System.Management.Die Automatisierung.PSMethod Wert : System.Void EnsureAuthenticated() Name : EnsureAuthenticated IsInstance : True
Du musst angemeldet sein, um einen Kommentar abzugeben.
First up, können Sie die meisten was Sie brauchen, mit tf.exe die Kommandozeilen-tool erhalten Sie mit der TF-Client.
tf dir
,tf get
,tf merge
,tf resolve
undtf checkin
wird Sie von Interesse sein sowie potenzielltf branches
. Wir tun verschmilzt, die ganze Zeit von der Befehl Linie, weil die nur bestimmte Optionen von der Kommandozeile aus verfügbar wie tf merge /grundlos (gelegentlich) und /verwerfen, wenn wir ausschließen wollen, dass ein Satz von änderungen als merge-Kandidat. Wir tun das, weil wir haben Skripte, die nachts ausgeführt auf unseren Wartungs-Filialen, lassen Sie uns wissen, wie viele änderungen eingecheckt wurden, ohne zusammengeführt zu Stamm. Manchmal gibt es ein änderungssatz-das sollte nie zusammengeführt werden zu Stamm z.B. release notes für eine bestimmte patch.Gibt es auch eine PowerShell-Snap-in für die TFS in der Team Foundation Power Tools aber es ist nicht so gut wie tf.exe. Noch für Abfragen es ist toll, weil Sie zurück zu bekommen .NET-Objekte.
WRT der Manning-Skript, sind Sie vorbei in der die vollständige URL (inklusive der TF-Sammlung name z.B. http://myserver.acme.com:8080/tfs/myteamproject? Endlich ist dieser
$tfs.RecursionType::OneLevel
scheint nicht richtig. Sollte es nicht[Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::OneLevel
? Manchmal können Sie festlegen, einfach den enum-Wert als string z.B.'OneLevel'
- wenn die PowerShell .NETTO-Methode-Sammelmappe finden Sie die richtige überlastung.TF.exe dir local_mapped_path
Arbeit? TF.Exe sollte in der VSInstallDir\Common7\IDE. Oder für diese Angelegenheit, können Sie Aktionen in der Source Control Explorer in Visual Studio? Einfach Fragen, wenn das problem liegt irgendwo zwischen Ihrem PC und dem TF-server oder wenn es ein problem mit der Verwendung des TFS version control API. Eine person behauptete, Sie McAfee deinstalliert und das problem ging Weg. Könnte es sein, eine lokale firewall-Problem? BTW sind Sie auf der RTM-version des TFS 2010-server und VS 2010?Dank für all die Hilfe.
Ich verstehe nicht, warum dies behebt das problem, aber wenn ich mit dem IIS-Adresse des Servers, war ich nicht auf ihn zugreifen. Ich glaube, das ist für andere zu arbeiten, aber aus irgendeinem Grund nicht bei mir.
z.B.
war nicht funktioniert, aber:
funktioniert.