运行 通过 Azure powershell 命令远程执行 SysPrep
Run SysPrep remotely through commands from Azure powershell
我想 运行 一些命令通过 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}
当我 运行 最后一个命令时,脚本块中没有任何事情发生 actually.But,而不是 $sysprep
,如果我给 start/stop 之类的任何其他命令提供服务,它给出了一些回应。但是 SysPrep 命令似乎 work.Can 没有人提出我做错了什么。
您正在尝试将 脚本块对象 调用到 运行,而 $sysprep
是一个 字符串 。您可能希望为此使用 Start-Process
cmdlet。像这样:
$sysprep = 'C:\Windows\System32\Sysprep\Sysprep.exe'
$arg = '/generalize /oobe /shutdown /quiet'
Invoke-Command -Session $s -ScriptBlock {param($sysprep,$arg) Start-Process -FilePath $sysprep -ArgumentList $arg} -ArgumentList $sysprep,$arg
我想 运行 一些命令通过 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}
当我 运行 最后一个命令时,脚本块中没有任何事情发生 actually.But,而不是 $sysprep
,如果我给 start/stop 之类的任何其他命令提供服务,它给出了一些回应。但是 SysPrep 命令似乎 work.Can 没有人提出我做错了什么。
您正在尝试将 脚本块对象 调用到 运行,而 $sysprep
是一个 字符串 。您可能希望为此使用 Start-Process
cmdlet。像这样:
$sysprep = 'C:\Windows\System32\Sysprep\Sysprep.exe'
$arg = '/generalize /oobe /shutdown /quiet'
Invoke-Command -Session $s -ScriptBlock {param($sysprep,$arg) Start-Process -FilePath $sysprep -ArgumentList $arg} -ArgumentList $sysprep,$arg