2016-07-29 15 views
0

Я работаю с PSSnapin Teamfoundation.PowerShell, в частности с командлетом Update-TfsWorkspace.Команда PowerShell имеет вывод при использовании в приглашении, но не при использовании в скрипте (Update-TfsWorkspace)

Я пытаюсь выполнить скрипт и автоматизировать процесс, связанный с получением последнего контента из TFS. Когда я использую команду:

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

в PowerShell строки, я получаю этот выход:

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 

То, что я хочу, и ожидает увидеть. Однако, когда я выполняю ту же самую команду в скрипте, а не непосредственно в подсказке, я просто получаю пробелы вместо вывода. Команда выполняется успешно, и ясно, что она сработала, но я не получаю результат. См. Следующую ссылку: Image of Empty Output

Он делает то же самое при использовании Start-Transcript для регистрации процесса в файл. Я получаю вывод, но вывод - это просто пробелы. See Here

Мне нужен выход этой команды для журнала, и упорный отказ от скрипта генерировать его, кажется, не соответствует моему опыту. У кого-нибудь есть идея, почему это происходит?

ответ

0

Примечание уверен, потому что я не использую его, он выглядит следующим образом Командлет не пишут на выходных, но только на хосте (см: Understanding Streams, Redirection, and Write-Host in PowerShell)

Трюк должен поместить свой код в MyTFSScript.PS1 ANSD по телефону:

powershell.exe -noprofile -file MyTFSScript.PS1 > MyTFSScript.log