【发布时间】:2019-02-08 04:41:13
【问题描述】:
我想通过 powershell 运行一些命令来远程执行 Sysprep。
所以我首先使用这个创建了一个会话:
$UserName = "IPAddress\username"
$Password = ConvertTo-SecureString "password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)
$s = New-PSSession -ComputerName IPAddress -Credential $psCred
然后分配 Sysprep 中使用的变量:
$sysprep = 'C:\Windows\System32\Sysprep\Sysprep.exe'
$arg = '/generalize /oobe /shutdown /quiet'
$sysprep += " $arg"
然后最后运行这个:
Invoke-Command -Session $s -ScriptBlock {$sysprep}
当我运行最后一个命令时,实际上什么都没有发生。但是在脚本块中,而不是$sysprep,如果我给出任何其他命令,如启动/停止服务,它会给出一些响应。但是 SysPrep 命令似乎不起作用。谁能指出我做错了什么。
【问题讨论】:
-
如果使用SysPrep泛化VM,那么VM将关闭,无法使用。它变成了一个广义的图像。
-
@CharlesXu-MSFT,是的。我需要概括 Vm 并创建它的图像。
-
我认为您可以使用 vm 扩展来执行 SysPrep。然后关注这个link。
-
@CharlesXu-MSFT ,是的,这是我关注的链接。但我想要脚本中的所有内容。
标签: azure powershell command azure-virtual-machine sysprep