2017-06-06 60 views

回答

0

如果您嘗試使用PowerShell命令,你必須記住登錄到Azure的執行它們之前使用Get-AzureStorageBlob命令。見the documentation。您需要在遠程計算機上登錄(即:在腳本塊內)。

另一種方法是讓azcopy可訪問,並通過自動化憑證傳遞關鍵信息。

+0

我能夠使用基本的PS命令在腳本塊內執行文件創建。防爆。新物品。我會嘗試使用AzCopy,但可能需要先通過DSC安裝它。感謝您的建議,我會放棄它。 – DXH

0

如果您想要這樣做,根據我的經驗,您需要執行以下步驟。

1.在目標虛擬機上安裝Azure PowerShell。

2.在虛擬機上啓用Winrm,需要在Windows防火牆和Azure NSG上打開端口5986。您的虛擬機上還需要配置證書。您可以逐步檢查此blog,以在Azure VM上啓用winrm。

注意:您應該啓用winrm在https上偵聽,如果您在http上啓用它,則無法在Runbook腳本上贏得您的虛擬機。

3.在Runbook中登錄到Azure訂閱,您可以參考此link

4.使用New-PSSession在Runbook中登錄您的虛擬機並執行您的PowerShell cmlet。你可以查看我的answer

+0

我試着啓動一個新的PS會話並從那裏運行命令。 Azure PS Module安裝在目標機器上。將blob大約15GB下載到目標虛擬機。 – DXH

+0

@DXH爲什麼不在您的目標虛擬機上下載blob?您是否需要自動化每天或每個月下載blob? –

+0

由於我們的客戶端與我們的雲vnet斷開連接,因此需要此解決方案。數據庫每天刷新一次。目前,我使用Task Scheduler在虛擬機上本地運行的PS腳本。也許我可以使用Azure Automation來啓動存儲在本地的PS腳本,但我試圖集中所有腳本,以便它不會成爲管理多個服務器上的惡夢。另外,憑證是一個問題。每次密碼更改時,我都必須在每臺服務器上進行更新,我可以通過使用存儲帳戶密鑰來繞過此密碼,但它已公開。 – DXH