2017-05-23 34 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