如何使用 powershell 将文件从本地工作 space 复制到远程服务器(不是网络共享路径)

How to copy a file from local work space to remote server (not a network shared path) with powershell

我正在尝试通过“TFS vNext 构建定义中的 Inline Powershell”任务使用 powershell 命令将文件从我的本地工作区复制到远程服务器(不是网络共享路径)。 仅供参考,目标路径不是网络共享路径

我尝试了以下命令

$Session = New-PSSession -ComputerName "remote server name" -Credential "domain\username" 
Copy-Item "$(Build.SourcesDirectory)\Test.htm" -Destination "C:\inetpub\wwwroot\aspnet_client\" -ToSession $Session

但是每次都在提示密码,我尝试手动输入密码,结果看起来不错。

如何在不提示密码或凭据的情况下实现这一步

您确定它不在网络共享上吗? :)

Powershell 仅将密码作为安全字符串。您可以使用 $credential = Get-Credential 呈现一个非常酷的盒子来为您存储这些凭据,或者如果您想以编程方式存储您的登录信息(出于明显的安全原因不推荐)使用此:

$passwd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential("<username>",$passwd)

可能有一种方法可以继承您当前的域凭据,但这超出了我的范围,快速 google 搜索一无所获。

编辑:抱歉我忘了 post 整个事情:

$passwd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential("<username>",$passwd)
$Session = New-PSSession -ComputerName "remote server name" -Credential $credential
Copy-Item "$(Build.SourcesDirectory)\Test.htm" -Destination "C:\inetpub\wwwroot\aspnet_client\" -ToSession $Session