我的(dotNET)应用程序是通过构建管道构建的(使用Windows托管代理),在随后的发布管道中,我将16GB-Win2016 VM(启用RDP,HTTP,HTTPS,WinRM和SSH)配置到我使用RDP手动操作(这里有一个手动干预任务),并配置WinRM(本文之后:https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/virtual-machine/cpp-configure-winrm-after-vm-creation#configure-vm-to-enable-winrm)。一切都很好,直到这里。下一个任务是Azure文件复制任务,该任务实际上是复制Build构件(从$(System.DefaultWorkingDirectory)
)并粘贴到我指定的目录中。奇迹般有效。我的下一个任务是创建整个VM的VHD(基本上在复制完成之后)。
[我知道我可以再次手动将RDP放入VM和sysprep
(使用oobe / generalize / shutdown),然后也许返回Azure门户并磁盘导出OS磁盘(指定SAS URL到期时间,无论如何(每篇文章36000条))但是这可以全部自动化吗?
所以,长话短说-我想知道sysprep oobe/generalize/shutdown
是否可以最好通过PS任务远程执行。我知道它的另一部分(导出磁盘和所有磁盘)可以,但是如果sysprep可以远程完成,那么就什么都不是。
因此,您不必手动配置winrm,可以在配置虚拟机时对其进行脚本\配置。并且,如果\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\,
Invoke-Command -ComputerName dnsname\ipaddress_goes_hehe -ScriptBlock { generalize xxx yyy }
https://github.com/Azure/azure-quickstart-templates/tree/master/201-vm-winrm-windows