C# 使用c更改Azure VM角色大小

C# 使用c更改Azure VM角色大小,c#,powershell,azure,C#,Powershell,Azure,我试图通过使用C管理API Microsoft.WindowsAzure.Management.Compute复制一些PowerShell代码来更改现有Azure VM的角色大小 这就是我想要实现的目标: Get-AzureVM | Where-Object {$_.InstanceSize -ne 'Basic_A0'} | Set-AzureVMSize "Basic_A0" | Update-AzureVM 到目前为止,我的C代码尝试降级特定的VM,但每当我尝试更新VM设置时,我都会遇到

我试图通过使用C管理API Microsoft.WindowsAzure.Management.Compute复制一些PowerShell代码来更改现有Azure VM的角色大小

这就是我想要实现的目标:

Get-AzureVM | Where-Object {$_.InstanceSize -ne 'Basic_A0'} | Set-AzureVMSize "Basic_A0" | Update-AzureVM
到目前为止,我的C代码尝试降级特定的VM,但每当我尝试更新VM设置时,我都会遇到一个我并不真正理解的异常,因为PowerShell版本不需要在VM上安装ProvisionGuestAgent来更改角色大小

“Microsoft.WindowsAzure.CloudException”类型的未处理异常 发生在Microsoft.Threading.Tasks.dll中

附加信息:BAD请求:以使用扩展 引用,必须在虚拟机期间设置ProvisionGuestAgent 供应


我找到了解决方案:role.ProvisioningGuestAgent为null,可能是因为该角色未联机,但需要为true才能进行更新

          upd.ProvisionGuestAgent = true;

显示您拥有的C代码比仅显示您试图复制的PS更有帮助。
          upd.ProvisionGuestAgent = true;