[英]How to run powershell command from azure devops pipeline to on-premises remote server
大家好
我已將https://devblogs.microsoft.com/devops/new-ip-firewall-rules-for-azure-devops/ 中列出的所有 IP 范圍添加到我的防火牆中。 但是我仍然無法將 powershell 命令從 azure devops 管道 YAML 運行到我的本地 Windows 服務器。 每次我從微軟獲得新 IP 時,上面提到的站點中都沒有列出。
我可以使用以下 powershell 命令使用本地計算機連接到服務器
下面是我的 yaml 管道腳本
pool:
vmImage: 'windows-latest'
stages:
- stage: 'Deploy'
jobs:
- deployment: 'Deploy'
environment: 'stage'
strategy:
runOnce:
deploy:
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$so = New-PsSessionOption –SkipCACheck -SkipCNCheck
$username='myUserName'
$password='myPassword'
$secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($username, $secpasswd)
Enter-PSSession -ComputerName xyz.com -Credential $credentials -UseSSL -SessionOption $so
write-output 'host name is '+$(hostname)
我收到錯誤:
Enter-PSSession:連接到遠程服務器 xyz.com 失敗並顯示以下錯誤消息:WinRM 無法完成操作。 驗證指定的計算機名稱是否有效、該計算機是否可通過網絡訪問以及 WinRM 服務的防火牆例外是否已啟用並允許從該計算機進行訪問。 默認情況下,公共配置文件的 WinRM 防火牆例外限制對同一本地子網中的遠程計算機的訪問。 有關詳細信息,請參閱 about_Remote_Troubleshooting。
是與防火牆相關的問題還是我使用 azure devops 執行 Powershell 腳本的方法錯誤?
Microsoft 雲代理無法訪問您的本地遠程服務器。 如果在 Microsoft 雲代理上運行管道,則無法連接到本地遠程服務器。 除非您的本地遠程服務器可以從公共網絡訪問。
由於您可以使用本地計算機連接到本地服務器。 您可以在本地計算機上創建自托管代理。 並通過將pool
指定為deployment job
本地代理池,在此自托管代理上運行deployment job
。 然后您將能夠連接到遠程本地服務器。 見下文
- deployment: Deploy
displayName: deploy Web App
#specify the local agent pool to run deployment job on self-hosted agent
pool: default
environment: stage
strategy:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.