免责声明:此答案仅说明如何满足使用 Windows 机器文件复制和管理/部署 IIS 任务的要求。请始终关注目标主机的安全性,其加固和安全评估是绝对必要的。
如评论中所述,您需要保护部署通道不受外界影响,这里有一个高级示例:
答:
为了使用Windows 机器文件复制任务,您需要:
在目标机器(运行 IIS 的机器)上启用文件和打印机共享,从管理命令提示符运行以下命令:
netsh advfirewall 防火墙设置规则组=“文件和打印机共享”新启用=是
确保在目标机器上安装了 PowerShell 4 或更新版本;从 PS 命令提示符执行以下命令会打印本地计算机上安装的版本:
PS> $PSVersionTable.PSVersion
例如,要获得 PowerShell 5,您可以安装WMF 5
;
- 在目标机器上,您必须安装 .NET Framework 4.5 或更高版本;
对于其他两个任务(管理/部署 IIS 任务),都需要您在目标计算机上启用 WinRM HTTPS 侦听器。对于开发部署场景,您可以按照以下步骤操作:
从官方 VSTS Tasks GitHub 存储库下载ConfigureWinRM.ps1 PowerShell 脚本;
从管理 PowerShell 命令提示符启用 RemoteSigned PowerShell 执行策略:
PS> Set-ExecutionPolicy RemoteSigned
使用以下参数运行脚本:
PS> ConfigureWinRM.ps1 FQDN https
请注意,FQDN 是 VSTS 任务访问的机器的完整域名,例如 myhostname.domain.example 。另请注意,此脚本从 Internet 下载两个可执行文件(makecert.exe和winrmconf.cmd),因此这台机器必须具有 Internet 连接。否则只需下载这两个文件,将它们与脚本同级放置,从脚本中注释掉 Download-Files 调用。
现在,您已启用带有自签名证书的 WinRM HTTPS 侦听器。请记住对这两个任务使用“测试证书”选项(具有讽刺意味的是,不测试证书,更好的名称应该是“跳过 CA 检查”)。
在生产部署场景中,您可能希望使用正确签名的证书。