2017-06-21 34 views
0

我正在PowerShell中編寫一個腳本,它將自動執行在本地主機端口81上運行的應用程序中的一些操作。我需要通過PowerShell訪問此應用程序的內容,以便我可以編輯並保存它。如何使用PowerShell中的端口號訪問我自己的本地主機?

我學到了很多關於PSSession的知識,但我試圖達到的應用程序是在我自己的機器上,而不是遠程的。有沒有辦法做到這一點?


編輯:

我想要達到的應用的TeamCity。我將其端口設置爲81,並訪問我需要在我的Web瀏覽器中鍵入http://localhost:81以打開TeamCity的UI的應用程序。

我學到了創建新項目的過程中,它的建立,通過應用程序本身,而是通過這樣的一些文件在某處所創建,這就是我想要以編程方式做:

nsn -ComputerName localhost -port 81 -Credential Get-Credential 

我得到這個錯誤:

nsn : [localhost] Connecting to remote server localhost failed with the following error message: The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from the destination computer. The content type is absent or invalid. For more information, see the about_Remote_Troubleshooting Help topic.At line:1 char: 1 + nsn -ComputerName localhost -Port 81 -Credential Get-Credential + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportE xception + FullyQualifiedErrorId : -2144108297,PSSessionOpenFailed

我還妄圖set-location http://localhost:81但得到的錯誤說法的路徑不是驅動器(已經知道了)。

+0

投票暫停,因爲「你不清楚你在問什麼」。這取決於應用程序是什麼,它意味着它是「在端口81上運行」。因爲它離80端口非常近,我想它是一個web服務,是的,你可以連接到本地機器上的web服務器(如果防火牆規則允許的話)。但是,PSSession與此有什麼關係? 和/或如何訪問其內容幫助您自動化?請編輯你的問題,並添加一些細節,你正在做什麼,你已經嘗試過,以及它如何不起作用。 – TessellatingHeckler

回答

0

即使您正在嘗試做的內容缺乏,您應該只能使用「http://localhost:81」作爲您的網址與實際的網址。 PSSession在這裏不適用,因爲你(可能)沒有遠程處理(儘管由於缺乏細節,完全無法分辨)

編輯:感謝您更新您的答案。我之前沒有使用過TeamCity,但我對Git和TFS非常熟悉,並且這兩者都不會通過WinRM進行連接。此外,您將無法通過WinRM連接到您的本地主機,因爲這會消除Windows的目的遠程管理。如果您在輸入New-PSSessionnsn)後知道要運行的命令,只需運行這些命令並跳過啓動PSSession即可。

我非常肯定,你需要用TeamCity做的唯一命令是git或者git-like,這將在Powershell之外。否則,你將通過http/https進行某種API調用,而不是通過WinRM。如果您試圖管理TeamCity所在的服務器,那是一個不同的故事,這讓我回到了不需要WinRM的觀點,因爲您不需要遠程管理已存在的服務器,只需管理它直接。

+0

想過之後,我發現了一種方法來創建,編輯和刪除TeamCity項目與PowerShell直接訪問其硬盤上的數據目錄。 Mine位於C:\ ProgramData \ JetBrains \ TeamCity \ config \ projects。如果有人正在尋找通過PowerShell而不是REST API或任何其他API來操縱TeamCity項目的方法。 –

相關問題