从网络文件夹执行PowerShell脚本

时间:2018-03-08 14:29:30

标签: powershell azure-pipelines

我正在使用本地VSTS构建机器在TFS2017中开发一个相当大的自动构建。我的自定义任务主要在PowerShell中。

内联PowerShell任务只处理500个左右的字符,而且太小而无法用于大多数任务。现在我正在编辑我的Powershell脚本,检查它,测试运行,读取日志中的错误,更正,再次检入等等。

这有点乏味,我想知道是否有任何选择。我想避免检查脚本中的每个更改。是否有任何选项,比如在构建过程的开发过程中从网络位置执行我的Powershell任务?

3 个答案:

答案 0 :(得分:1)

您可以在您的UNC路径中使用点源:

PS> . \\server\path\to\your\scriptmcscript.ps1

or use the invocation operator:

& \\server\path\to\your\scriptmcscript.ps1

答案 1 :(得分:1)

您可以在PowerShell任务中指定UNC文件路径。

您还可以将脚本文件存储在服务器(例如FTP)中,然后在构建期间通过PowerShell或其他任务将文件下载到工作目录。

另一方面,Target机器上的PowerShell任务可以在远程机器上执行PowerShell脚本。

答案 2 :(得分:0)

您可以使用带有Powershell任务的文件的UNC路径。 或者您可以在目标计算机上使用Powershell来运行它。

但要小心你的选择。您必须记住,运行脚本的是构建/部署代理。因此,当您在公司网络中运行它时,一切都会好的,因为您的代理可以看到您的UNC路径。

当您在网络外的计算机上使用该代理时,您将不得不考虑另一种解决方案,其中可能包括将您的powershell文件保存到Git或TFVC等仓库,然后将文件下载到您所在的本地计算机运行代理。