2016-04-07 10 views
2

私はAzureにはかなり新しいですが、私は単純なようなものに頭をぶつけています。私はこれが簡単だと示唆する膨大なリソースを読んだが、特定のVMを起動するための新しいポータル(ARM)のランブックを手に入れることはできない。実行され、「完了」と表示されますが、何も起こりません。残念ながらほとんど変わっジャック曽さんのコメント次の更新Azure runbookはvmで "Completed"と表示されますが、何も起こりません。

:ここ

はスクリプトです。

workflow StartDEVTC1 
{ 
$VerbosePreference = "Continue" 
$ErrorActionPreference = "Stop" 
$WarnPreference = "Continue" 

Write-Output "Getting credential..." 
$cred = Get-AutomationPSCredential -Name 'AutomationPowershellCred1' 
Write-Output "Adding account..." 
Add-AzureRmAccount -Credential $cred 

Write-Output "Getting VM..." 
$VM = Get-AzureRmVM -ResourceGroupName "myResourceGroup" -Name "DEVTC1" -Status 

$vmName = $VM.Name 
$vmRG = $VM.ResourceGroupName 
Write-Output "Checking state of $vmName from $vmRG..." 
$VMDetail = $VM | Select-Object -ExpandProperty StatusesText | convertfrom-json 
$vmPowerstate = $VMDetail[1].Code 

if($vmPowerstate -like "PowerState/deallocated") 
{ 
    Write-Output "$vmName powerstate is $vmPowerstate, starting VM..." 
    $res = $VM | Start-AzureRmVM 
    if (($res.StatusCode) -ne 'OK') 
    { 
     Write-Error "Could not start VM." 
    } 
} 
else 
{ 
    Write-Output "$vmName powerstate is $vmPowerstate, not starting VM." 
} 

Write-Output "END." 
} 

あなたは、私はいくつかのログを追加しようとしましたが、私はテストのペインでこれらを見ることができない見ることができるように。私のPC上のPowershellで重要なステップを実行するだけでうまくいくので、ここで何が起こっているのですか?

私の紺碧のアカウントの詳細を使用して、資格情報が新たに定義されました(私はアカウントのオーナーです)。

私はStart-AzureRmVmを呼び出すためにはるかに単純な方法を試しましたが、何も機能しません。

ありがとうございました!

+0

'Write-Progress'を' Write-Output'に変更して、どの出力を得るのかを確認してください。 'Write-Progress'コマンドレットは、対話型ユーザーでの使用を目的としているため、ランブックでは無効です。ところで、 'Start-AzureRmVM'では、' -Force'パラメータはこれ以上サポートされません。あなたのコードを試してみましたが、 '-Force'がなく、Write-ProgressをWrite-Outputに置き換えれば、私の最後で完全に動作します。 –

+0

ありがとうございました。でも、あなたの提案でも、私は喜びを得ていません。テストペインには出力が表示されず、エラーも表示されません。私は "Completed"と変わらないVMしか見ることができません。 – GlacialSpoon

+0

それは変です。それは私にとって完璧に働いています。私はここに何の問題も見ません。 –

答えて

3

私はそれを得て、答えはイライラするほど簡単でした。

runbookが "PowerShell Workflow"ランブックとして作成されていない限り、workflowブロックを使用することはできません。私の場合は、単純に "PowerShell"ランブックで、ワークフローブロックのコードを無視していたと思います。

runbookを「PowerShell Workflow」ランブックとして再作成すると、ロギングが出力され、何が起きているのかを確認できました(VMはというかなり長い時間がかかりましたが)。

関連する問題