2017-05-23 46 views
0

我是powershell的新手,我有一个powershell脚本应该同时在我的主机上的每个虚拟机上运行。我的一个朋友告诉我,有一个由菲利普斯开发的工具,但我搜索它,但无法找到。有人可以帮我解决这个问题吗?如何在主机中的每个虚拟机上运行powershell代码

在此先感谢

+0

你为什么不问你的朋友的工具的名称?也是这样soooo模糊我甚至不能(c) – 4c74356b41

+0

我的朋友也不确定工具名称。 – MAK

回答

1

同时枚举虚拟机,您可以创建自己的脚本的脚本块内并运行它。

# On the host, Get-VM get's you the available VMs. 
$runniungVMs = $Get-VM -State 'Running' 

foreach ($vm in $runningVMs) { 
    Enter-PSSession $vm 
    # Write Some code to execute after this line 
} 

您也可以使用脚本块一个循环中,如果你能得到VM的实际的计算机名称:

Invoke-Command –ComputerName <computerName> -Credential $Cred –ScriptBlock { 
    # Write some code to execute 
} 

对其他问题

的Get-更新VM命令获取运行命令的主机上可用的虚拟机列表。

如果您的VM主机不是您正在运行的计算机,则可以指定VM主机的计算机名称。下面是如何获得在Server1上运行的虚拟机列表:

Get-VM -ComputerName Server1 | Where-Object {$_.State -eq 'Running'} 

辣妹还带有很大的帮助。如果您需要了解更多关于任何命令,你可以使用:

get-help Get-VM 

get-help Get-VM -examples 
get-help Get-VM -detailed 
get-help Get-VM -full 
+0

+本理查兹感谢您的回答。如果你不介意,你可以帮助我关于电源外壳工具的信息。有没有Phillips开发的任何运行PowerShell脚本的工具,或者是否有任何其他工具可以运行PowerShell脚本。 – MAK

+1

是的,可能有十几种工具可用于*开发* Posh(官方Powershell缩写)脚本。由于Posh环境已内置到Windows中,因此不需要使用工具来运行Posh脚本。我不知道Phillips的那个,但Windows 7-8-10带有一个体面的IDE来编写Posh脚本。它被称为Windows Powershell ISE。它应该已经安装在Windows机器上。 –

+0

上面的代码每次启动虚拟机时都运行吗?如果我们只运行一次代码怎么办?在没有提供虚拟机运行的主机名的情况下,代码如何在主机上的虚拟机上执行。 – MAK