2016-12-05 102 views
0

我正在运行Azure Windows VM,它在启动时(从Task Scheduler启动时)运行批处理文件。以多个Azure虚拟机上的管理员身份运行计划任务

批处理文件无法以SYSTEM身份启动,需要以用户身份运行,因此我使用VM管理员。在任务计划程序中,此用户显示为\。这一切工作正常。

我的问题是,我希望能够通过制作现有虚拟机的VHD然后从该VHD创建更多虚拟机(可能位于ScaleSet中)来运行这些虚拟机。

该脚本需要在虚拟机首次启动时运行,以及是否曾经重新启动。

虽然我这样做,但我的启动脚本会中断,因为每个虚拟机的MACHINE_NAME都会有所不同。

什么是解决这个问题的好方法?

+0

好吧,使用'%computername%'变量? – 4c74356b41

+0

我不太了解Task Scheduler,但我看不到在Task中使用变量的方法。但是,您已经给了我一个在执行的批处理文件中使用“runas”的想法。这样我就可以用SYSTEM开始任务,然后在批处理文件中使用runas和%computername%作为预期用户运行实际任务。谢谢。 – gordonm

+0

事实上,psexec是一个更好的选择,因为runas无法在命令行上接受密码。 – gordonm

回答

0

如果它从任务调度开始并且是一个批处理作业,那么也可以将它移动到webjobs并安排在那里。然后创建尽可能多的webjobs以获得相同的批处理文件。不需要创建和维护虚拟机

相关问题