如何使用 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
我正在尝试通过“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