2014-10-04 65 views
2

我當前的應用場景要求我在啓動任務的同時啓動多個VM(每個VM上的啓動任務觸發相同的腳本,但使用不同的參數)。以前在EC2中,我可以輕鬆啓動許多EC2實例,然後使用Windows任務計劃程序輕鬆觸發可執行文件,讀取每個實例的用戶數據中的數據,然後完成所有操作。在Azure虛擬機上自動啓動任務的最簡單方法是什麼?

我試着在Azure中相同的方法,但發現了一些問題:

  1. 使用任務計劃程序,並開始「啓動」任務的嘗試,但由於syspreping該用戶信息後丟失將無法正常工作因此我將無法開始相同的任務。
  2. 嘗試gpedit.msc並指定啓動腳本。將無法工作。我不知道爲什麼。
  3. 嘗試使用任務計劃程序並在特定時間點啓動任務。將無法工作。我收到一條錯誤消息,說「操作員或管理員拒絕了請求」。

那麼在Azure虛擬機中啓動任務自動化最簡單的方法是什麼?

回答

2

您是否想過使用Azure-powershell

  1. 您可以使用Start-AzureVM -cmdlet啓動虛擬機。
  2. 您可以使用下面的

代碼段用於開始:

$vmuri = Get-AzureWinRMUri -ServiceName $VMName 

#region start hpc-azure-nodes 
Invoke-Command -ConnectionUri $vmuri -Credential $credential { 
    #start your tasks with the according parameters 
} -ArgumentList 

相當華麗的方式是創建在Azure中的頭-VM並安裝HPC-cluster-manager。利用HPC集羣管理器,您可以在您的限制範圍內部署任意數量的Azure計算節點,部署軟件並從集羣管理器集中啓動/停止軟件。

此外,該HPC羣集管理器提供了許多有用的功能:

  • 添加/刪除節點
  • 通過RDP連接到每個節點
  • 查看日誌信息爲作業
  • 和很多,很多

還有一個HPC-powershell它提供了一個很好的環境自動化。誠然,這種方法需要更多的努力,但從長遠來看,它幾乎肯定會有回報。

0

我想你要找的是PowerShell所需狀態配置(DSC)。

這是在PowerShell 4.0中引入的管理平臺。通過提供系統中每個節點所需狀態的描述,您可以使用它來配置VM或一組服務器。基本上,您可以描述服務器啓動時希望處於的狀態,並且如果配置已經漂移,則會糾正它。

一個DSC腳本可以:

  • 管理註冊表項
  • 複製文件和文件夾
  • 運行PowerShell腳本
  • 部署軟件
  • 管理服務器角色
  • 打開Windows功能打開/ off

Here is a quick tutorial at blog.msdn.com這會讓你開始。

相關問題