azure - 在管道中使用 PowerShell 任务对 Azure VM 进行 Sysprep
问题描述
我的 (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-配置-winrm-after-vm-creation#configure-vm-to-enable-winrm)。一切都很好,直到这里。下一个任务是 Azure 文件复制任务,它实质上是复制构建工件(从$(System.DefaultWorkingDirectory)
)并粘贴到我指定的目录中。奇迹般有效。我的下一个任务是创建整个 VM 的 VHD(基本上是在复制完成之后)。
我知道我可以手动 RDP 进入 VM(再次)和sysprep
(使用 oobe/generalize/shutdown),然后可能返回 Azure 门户和磁盘导出操作系统磁盘(指定 SAS URL 过期时间(每篇文章 36000) )) 但是这一切都可以自动化吗?
所以,长话短说 - 我想知道是否sysprep oobe/generalize/shutdown
可以通过 PS 任务远程执行。我知道它的另一部分(导出磁盘和所有)可以,但是如果 sysprep 可以远程完成,那就没有了。
解决方案
我试过了,得到了我想要的:
$sysprep= 'C:\Windows\System32\Sysprep\Sysprep.exe'
$arg1 = '/generalize'
$arg2 = '/oobe'
$arg3 = '/shutdown'
$arg4 = '/quiet'
& $sysprep $arg1 $arg2 $arg3 $arg4 -Wait
推荐阅读
- java - 在 bukkit 中获取 ItemStack 的“自定义 ID”
- javascript - 尝试隐藏移动导航时,它不会隐藏列表和按钮。为什么?
- php - 简化函数 Laravel
- python - 引用列表而不是副本
- python - 将 scipy 导入 Python 时出现导入错误
- python - ModuleNotFoundError:没有名为“discord”的模块/如何切换 python 版本
- c++ - 如何定义正数的概念?
- javascript - 第一次播放时 Javascript 音频“缓冲/滞后”?
- python - 优化函数以在 pandas 的 4 个标准差内找到滚动窗口中的最大值和最小值
- npm - NPM、bootsrap5(和 Wagtail?)的模板问题