簡體   English   中英

遠程 TFS 通過 Powershell 簽入

[英]Remote TFS Checkin via Powershell

我們目前在每台本地 PC 上都有一個計划任務,當使用 schtasks 遠程觸發時運行命令“TF.exe /checkin”。 這樣一來,當有人忘記簽到時,我們可以遠程進行。

但我們想將其集成到 PowerShell 腳本中,只需輸入計算機名稱即可遠程觸發該腳本,但由於某種原因,它似乎不起作用。

這在本地電腦上運行良好

Invoke-Command -ScriptBlock {& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe' checkin /recursive}

但是,當添加 -ComputerName 時,它無法使用以下錯誤。

Invoke-Command -ComputerName *ComputerName* -ScriptBlock {& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe' check-in /recursive}

無法確定工作區。 您可以通過運行“tf workspaces /collection:TeamProjetCollectionURL”來糾正此問題。 +CategoryInfo: NotSpecified (無法阻止...ColletionUrl'.:string [], Remoteexpection

有想法該怎么解決這個嗎? 我已經嘗試過 /collection:https://tfsserver:port/collectionanme 但它也不起作用

錯誤:如果沒有選項 /shelveset,則無法使用選項 /collection,這很奇怪,因為我沒有使用 /shelveset。

- - -更新 - -

見下圖,在運行 powershell 腳本之前,我在本地電腦上簽出了一個文件,然后在遠程計算機上運行 Enter-PSSession,然后運行 invoke-command 仍然只簽入我的本地文件而不是遠程計算機上。 在此處輸入圖像描述 在此處輸入圖像描述

---更新04/12---

我不知道為什么它不起作用同樣的問題“無法確定工作區” 在此處輸入圖像描述

您需要使用以下代碼在遠程 session 上指定工作區路徑:

$session = New-PSSession -ComputerName ComputerName
Invoke-Command -Session $session -ScriptBlock { Set-Location D:\workspace}
Enter-PSSession -Session $session

在此處輸入圖像描述

然后運行 tf 命令:

Invoke-Command -ScriptBlock {& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe' checkin /recursive}

整體結果:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM