Powershell 远程执行脚本未启动 disk2vhd

Powershell 远程执行脚本未启动 disk2vhd

我编写了一个脚本来备份 CSV 上的虚拟机,它运行良好,只是我无法运行 disk2vhd.exe。该脚本从安装了 Windows 2008 的服务器运行。由于我们的许多虚拟机都使用 Windows 2003(无 PS),所以我必须以复杂的方式完成所有事情。

我尝试的第一件事就是创建一个批处理文件并使用 WMI 执行它。批处理文件确实执行了,但不知何故,disk2vhd 没有启动。
顺便说一句,当我直接将用于启动 disk2vhd 的命令复制到 VM 上的 cmd 控制台时,它运行正常!

然后,我又尝试使用 psexec,但只传递了这个特定的命令 (cmd /c $command)。还是没有结果。
这可能是 UAC 或权限的问题吗?

答案1

这不是答案,而是一系列评论和澄清问题。鉴于您只有拥有 >50 的声誉才能“发表评论”,因此...

这个问题可能更适合服务器故障

是否可以看到您尝试运行的脚本?此外,您实际上并未提及发生什么类型的故障。exe 是否只是未运行,还是有输出消息直接说明问题所在?

我对 disk2vhd 不太熟悉,但听起来好像您在虚拟机上运行它。对吗?您是否将 VHD 附加到单独的系统上?

答案2

请打我,因为我真的很蠢。

这确实是 UAC 的问题。我必须在提升模式下运行该命令。为此,我需要一个开关。
现在代码行如下所示:

&"$CONST_PWD/psexec" -accepteula $rs -h -u $SETUP_USER -p $SETUP_PASSWORD C:\vmbackup\disk2vhd.exe $tVMdisk $sd -accepteula

看到 -h 了吗?是的,这就是缺失的东西。
至少,我的脚本终于可以完美运行了。谢谢大家!

相关内容