【问题标题】:Sysprep Azure VM with Remote PowerShell带有远程 PowerShell 的 Sysprep Azure VM
【发布时间】:2020-08-04 18:41:34
【问题描述】:

我正在尝试通过 Azure DevOps YAML 管道在 Azure 中对 VM 进行 SysPrep。在同一管道(上一阶段)中,我通过 Azure 资源管理器 (ARM) 模板部署 VM,并将脚本和文件复制到机器上。我想自动化整个过程,因此不能选择 RDP 进入机器。当我在 VM 上运行 SysPrep 时,我收到以下错误消息:

##[error]The remote session query failed for <insertMyFQDN>.eastus.cloudapp.azure.com with the following error message: Access is denied.

从我的存储库中,我有几个文件,包括 SysPrep 机器的 PowerShell 脚本 (sysPrepvm.ps1) - 取自 Run SysPrep remotely through commands from Azure powershell。当我在机器上登录并手动运行时,该脚本有效。

sysPrepvm.ps1

$sysPrepPath = 'C:\Windows\System32\Sysprep\Sysprep.exe'
$arguments = '/generalize /oobe /shutdown /quiet'
Invoke-Command -ScriptBlock {param($sysPrepPath,$arguments) Start-Process -FilePath $sysPrepPath -ArgumentList $arguments} -ArgumentList $sysPrepPath,$arguments

我正在使用 Azure DevOps 中的内置任务“Powershell on Target Machines”,通过它我可以调用其他命令或脚本,因此我确信该任务可以正常工作。

我在 YAML 管道中的阶段如下所示:

- stage: 
  displayName: SysPrep
  variables: 
   azFQDN: $[stageDependencies.Connect.connect.outputs['SetEnvVars.azFQDN']]
  jobs:
  - job: SysPrepVhD
    steps:
    - task: PowerShellOnTargetMachines@3
      inputs:
        Machines: '$(azFQDN)' # FQDN on the machine
        UserName: '$(adminUser)'
        UserPassword: '$(adminPw)'
        ScriptType: 'FilePath'
        ScriptPath: 'C:\Windows\System32\Sysprep\fishtank\sysPrepvm.ps1'

远程运行有限制吗?我还没有找到解决方法,因此非常感谢任何答案。

编辑

我还尝试使用 -Verb RunAs 作为内联脚本而不是 File 运行脚本,并尝试了上一篇文章中接受的答案:

Sysprep an Azure VM using PowerShell task in a pipeline

【问题讨论】:

  • 你试过Start-Process-Verb RunAs吗?
  • 我刚试过,但不幸的是没有运气。同样的错误信息。
  • 是的。我正在使用的脚本 (sysPrepvm.ps1) 是该帖子中接受的答案。
  • 错误提示“访问被拒绝”。您需要检查您的 VM 凭据。

标签: azure powershell azure-devops virtual-machine sysprep


【解决方案1】:

我设法找到了一种使用自定义脚本扩展的方法。一开始我并没有想到这样做,因为我使用的 ARM 模板在机器上已经有一个自定义脚本扩展来启用 WinRM,并且不能同时安装多个自定义脚本扩展。此外,我不想在机器启动后立即执行 SysPrep,因为它必须先运行其他脚本和设置。在我的 YAML 管道中,我设法删除了现有的管道,以重新部署包含脚本的新自定义脚本扩展。

我在 GitHub 上发布了整个解决方案 - https://github.com/Crytlig/azsysprep - 供任何感兴趣的人使用。它显然需要一些清洁,但它可以按原样工作。

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    相关资源
    最近更新 更多