使用当前代理凭证从TeamCity构建远程执行PowerShell
TeamCity使用构建代理执行构建。 我拥有的构建代理是Windows上的代理,它在域凭据下作为服务运行。
我需要在我的一个构建步骤中的远程Web服务器上调用命令。
当我这样做时(为了简单起见,删除了很多东西):
$password = ConvertTo-SecureString "actualpasswordhere" -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PsCredential("domainteamcityagent1",$password)
...
Invoke-Command -computername $IISComputerName -Credential $credentials -ScriptBlock ${function:BackupSite} -ArgumentList $IISSiteName, $IISBackupDirectory
有用。 但是当我为当前正在执行的用户提供凭据时
$credentials = [System.Net.NetworkCredential]::DefaultCredentials
(周围的代码是相同的)我得到内部等待,而不是在Invoke-Command点执行。 我没有等太久,但即使在5分钟内也没有发生。
我不希望在脚本中明确提供登录名和密码,因为凭证基本上是与生成代理程序所在的用户相同的用户。 如何解决在脚本代码中提供登录名和密码的需求?
我做了两件事情,它工作:
这将我的代码作为当前用户 - 服务用户执行。
链接地址: http://www.djcxy.com/p/36787.html上一篇: Execute PowerShell remotely from TeamCity build using current agent credentials