2016-07-29 47 views
0

Ich arbeite mit der PSSnapin Teamfoundation.PowerShell, speziell mit dem Cmdlet, Update-TfsWorkspace.PowerShell Command hat ausgegeben, wenn in einer Eingabeaufforderung verwendet, aber nicht in einem Skript (Update-TfsWorkspace)

Ich versuche, einen Prozess zu skripten und zu automatisieren, bei dem der neueste Inhalt von TFS abgerufen wird. Wenn ich den Befehl:

Update-TfsWorkspace -force -item $somepath -recurse -overwrite 

in einer Powershell-Eingabeaufforderung, erhalte ich diese Ausgabe:

Replacing 468256 C:\Path\MorePath\SomeFile1.txt 
Replacing 468256 C:\Path\MorePath\SomeFile2.txt 
Replacing 510850 C:\Path\MorePath\SomeFile3.txt 
Replacing 468256 C:\Path\MorePath\SomeFile4.txt 
Replacing 468256 C:\Path\MorePath\SomeFile5.txt 
Replacing 510850 C:\Path\MorePath\SomeFile6.txt 
Replacing 468256 C:\Path\MorePath\SomeFile7.txt 

Das ist, was ich will und erwarten zu sehen. Wenn ich jedoch denselben Befehl in einem Skript statt direkt in der Eingabeaufforderung ausführe, erhalte ich nur Leerzeichen anstelle der Ausgabe. Der Befehl wird erfolgreich ausgeführt und es ist klar, dass es funktioniert hat, aber ich bekomme die Ausgabe nicht. Siehe den folgenden Link: Image of Empty Output

Es macht das gleiche, wenn Sie Start-Transcript verwenden, um den Prozess in eine Datei zu protokollieren. Ich bekomme Ausgabe, aber die Ausgabe ist nur Leerzeichen. See Here

Ich brauche die Ausgabe von diesem Befehl für das Protokoll und die hartnäckige Verweigerung des Skripts zu generieren scheint es jenseits meiner Sachkenntnis zu sein. Hat jemand eine Idee, warum das passiert?

Antwort