想象一下,我的Azure订阅中有两个虚拟机。我希望通过计算机 Foo 在管理员帐户下的 Bar 上运行Powershell命令和脚本。
我将在 Foo 上使用Continuous Build Server,该服务器在被触发时将在两个人均可访问的共享目录中创建一个名为 go.ps1 的(签名)脚本。 Foo 和 Bar 。创建该脚本之后,我希望CBS将 Bar 复制到C:\scripts\go.ps1
并执行该文件,就像我是坐在 Bar 的管理员一样。过去,我在物理机上使用psexec做过类似的事情。我认为Azure VM也有类似的东西。
答案 0 :(得分:0)
如果虚拟机使用Azure提供的DNS位于同一VNet上,则psexec应该可以工作。
答案 1 :(得分:0)
通常,您可以使用PsExec在物理机器上执行过去类似的操作。关于Azure VM,您可以确保两个VM之间的网络连接正常。如果它们位于不同的VNet中,则可以peer the VNets with each other.如果它们位于同一VNet中,则默认情况下存在NSG入站规则,以允许从虚拟网络到任何虚拟网络的任何端口,因此您只需要打开PSEXEC VM内部防火墙(例如Windows防火墙)中的端口445。
这对我有用。使用专用配置文件在Windows防火墙的入站规则中启用端口445。我可以在VM 10.0.0.4上运行PsExec,以在VM 10.0.1.6中打开CMD。
或者,run scripts on the Azure VM有很多方法供您使用。如果您不清楚回复中的内容,请随时告诉我。