2016-04-11 7 views
1

Ich versuche, Puppet-Agent über Azure Powershell 1.0 einer bereits vorhandenen Azure-VM hinzuzufügen. Die offizielle Dokumentation bezieht sich der verwenden folgende:Einstellen der Puppet-Erweiterung auf Azure VM

Parameter Set: SetPuppetExtension 
Set-AzureVMPuppetExtension [-PuppetMasterServer] <String> [[-Version] <String> ] [[-Disable]] [[-ReferenceName] <String> ] -VM <IPersistentVM> [ <CommonParameters>] 

I -VM Parameter aus Azure über get-AzureRmVm (die BTW gibt Einzelheiten der VM), aber Set-AzureVMPuppetExtension nicht mit, es zu bekommen versuche :

Set-AzureVMPuppetExtension : Cannot bind parameter 'VM'. Cannot convert the "$VM" value of type "System.String" to type 
"Microsoft.WindowsAzure.Commands.ServiceManagement.Model.IPersistentVM". 

Antwort

0

das Problem, das Sie haben, ist, dass Set-AzureVMPuppetExtension die Ausgabe von Get-AzureVM erwartet nicht Get-AzureRmVm

Dies ist das alte Service-Modell, klassisch VMs, Art und Weise, Dinge zu tun. Es ist jetzt wesentlich komplexer geworden.

Zum einen die Erweiterung finden Sie Sie

Get-AzureRmVMImagePublisher -Location $location 

Sie dann

Get-AzureRmVMExtensionImageType -PublisherName puppetlabs -Location $location 

verwenden können, verwenden müssen möchten, welche Sie die Details geben, mit denen Sie benötigen

Set-AzureRmVMExtension 
+0

Das funktionierte tatsächlich (Art von): 'Set-AzureRmVMExtension -ResourceGroupName -VMName -Name PuppetEnterpriseAgent -Publisher PuppetLabs -ExtensionType PuppetEnterpriseAgent -Location $ location -TypeHandlerVersion "3.8" ' – Marcinf