Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure虚拟机无法添加扩展_Azure_Azure Powershell_Azure Resource Manager - Fatal编程技术网

Azure虚拟机无法添加扩展

Azure虚拟机无法添加扩展,azure,azure-powershell,azure-resource-manager,Azure,Azure Powershell,Azure Resource Manager,我已安装最新版本的Azure Powershell(0.9.7)。我有一个通过预览门户创建的新虚拟机。它是使用新的资源组模型创建的 我正在尝试安装一些扩展,但无法找到正确的Powershell命令。大多数说明都说使用获取AzureVM。这不会返回我的虚拟机。如果我使用将AzureMode切换到AzureResourceManager,我可以使用获取AzureVM列出我的VM(我假设是v2) 似乎没有为资源管理器模式设置任何扩展脚本。大多数示例脚本都表示要使用: 获取AzureVM-Service

我已安装最新版本的Azure Powershell(0.9.7)。我有一个通过预览门户创建的新虚拟机。它是使用新的资源组模型创建的

我正在尝试安装一些扩展,但无法找到正确的Powershell命令。大多数说明都说使用
获取AzureVM
。这不会返回我的虚拟机。如果我使用
将AzureMode
切换到AzureResourceManager,我可以使用
获取AzureVM
列出我的VM(我假设是v2)

似乎没有为资源管理器模式设置任何扩展脚本。大多数示例脚本都表示要使用:
获取AzureVM-ServiceName'CLFeb19WS12R2A'-Name'CLFeb19WS12R2A'
设置AzureVMBGInfoExtension-禁用-ReferenceName'BGInfo'
更新AzureVM

我试过各种方法。AzureVMBGInfoExtension cmdlet在资源管理器模式下不可用

有什么建议吗?

创建虚拟机 我创建了一个新的虚拟机,以便能够帮助您。我使用了portal.azure.com>New>Compute>Marketplace>windowsserver>windowsserver2008r2sp1并选择了资源管理器部署模型

创建Active Directory用户 因为我们使用的是Azure资源管理器,所以我需要创建一个新的Active Directory用户,以便能够通过Azure PowerShell进行身份验证。这是我唯一可以认证的方法

您可以使用以下步骤创建一个

  • 登录Azure门户,然后选择Active Directory

  • 如果不存在目录,请选择创建目录并提供请求的信息

  • 选择目录并添加新用户。此新用户是工作或学校帐户

  • 在创建用户的过程中,将向您提供该用户的电子邮件地址和临时密码。将此信息保存为以后需要的信息

  • 从Azure门户中,选择设置,然后选择管理员。选择“添加”,然后将新用户添加为共同管理员。这允许工作或学校帐户管理您的Azure订阅

  • 最后,注销Azure门户,然后使用新的工作或学校帐户重新登录。如果这是首次使用此帐户登录,系统将提示您更改密码

  • 确保在以工作或学校帐户登录时看到您的订阅

  • 奇怪的是,如果我们使用其中一种类型的帐户进行身份验证,Azure资源管理器似乎最适合(或者只适合)使用

    安装最新的Azure PowerShell模块 因为我们需要访问
    扩展
    相关的commandlet。该链接显示如何通过Web平台安装程序进行安装。完成后,您可以通过运行以下命令来确定是否有正确的选项:

    > (Get-Module azureresourcemanager).Version
    
    Major  Minor  Build  Revision
    -----  -----  -----  --------
    0      9      7      -1
    
    当我们运行以下命令时,请查看所有与扩展相关的commandlet。万岁

    > Switch-AzureMode -Name AzureResourceManager
    > Get-Command *extension* -Module AzureResourceManager
    
    Get-AzureVMAccessExtension            
    Get-AzureVMCustomScriptExtension      
    Get-AzureVMDiagnosticsExtension       
    Get-AzureVMDscExtension               
    Get-AzureVMExtension                  
    Get-AzureVMExtensionImage             
    Get-AzureVMExtensionImageType         
    Remove-AzureVMAccessExtension         
    Remove-AzureVMCustomScriptExtension   
    Remove-AzureVMDiagnosticsExtension    
    Remove-AzureVMDscExtension            
    Remove-AzureVMExtension               
    Set-AzureVMAccessExtension            
    Set-AzureVMCustomScriptExtension      
    Set-AzureVMDiagnosticsExtension       
    Set-AzureVMDscExtension               
    Set-AzureVMExtension
    
    在资源管理器模式下,我们可以访问这些。要了解如何使用它们,请对每个感兴趣的组件运行
    Get Help Set AzureVMAccessExtension-example
    。然后用这个例子来玩玩

    验证Azure PowerShell并为您的VM设置扩展 通过
    添加AzureAccount
    进行身份验证时,请使用我们创建的Active Directory用户。然后您可以查询您的虚拟机

    > Add-AzureAccount
    > Get-AzureResource -ResourceType Microsoft.Compute/virtualMachines
    
    一旦了解了VM的详细信息,就可以添加扩展。这里有一个对我有用的例子

    >  Set-AzureVMAccessExtension -ResourceGroupName "mvp1" -Location "West US" -VMName "mvp1" -Name "mvp1test" -TypeHandlerVersion "2.0" -UserName "shaunluttin" -Password "Password
    
    EndTime             : 9/1/2015 9:35:57 PM -07:00
    Error               :
    Output              :
    StartTime           : 9/1/2015 9:35:20 PM -07:00
    Status              : Succeeded
    TrackingOperationId : f03210e0-e67e-40d7-aad7-d9acef64bebe
    RequestId           : 95f42767-edcf-443a-8977-4c9f6d0eafef
    StatusCode          : OK
    

    祝你好运。如果你有任何问题,请告诉我

    这并不是离题,因为它是关于“程序员常用的软件工具”的。不过,它可能更适合。它是什么类型的虚拟机?Windows,Linux,其他?它是一个Windows虚拟机。我应该把它贴在服务器故障上。你说到点子上了。在我看来,Stackoverflow很好。我最终采用了与您相同的流程。active directory步骤把我搞砸了。不幸的是,在V1下可用的许多扩展在V2下不能直接使用,这很令人困惑。另外,一些其他项目(Azure备份)还不能与ARM型号配合使用。@Jonathan我发现Azure PowerShell比Azure命令行界面(CLI)更难使用。您是否尝试过CLI?对于V2下似乎不可用的扩展,您是否尝试过通过
    Set-AzureVMExtension
    按名称添加它们。虽然我自己还没有试过,但可能值得一试。当我完成这项工作时,我最终进入了CLI。我无法让cmdlet正常工作。我试图通过CLI添加扩展,但我不知道足够的详细信息(Publisher和其他一些特定的东西)。我放弃了,找到了另一条路。如果你还有其他问题,请告诉我。