Gestire le risorse con Azure PowerShell e Resource ManagerManage resources with Azure PowerShell and Resource Manager

Questo articolo illustra come gestire le soluzioni con Azure PowerShell e Azure Resource Manager.In this article, you learn how to manage your solutions with Azure PowerShell and Azure Resource Manager. Se non si ha familiarità con Resource Manager, vedere Panoramica di Azure Resource Manager.If you are not familiar with Resource Manager, see Resource Manager Overview. Questo articolo è incentrato sulle attività di gestione.This article focuses on management tasks. Si apprenderà come:You will:

  1. Creare un gruppo di risorseCreate a resource group
  2. Aggiungere una risorsa al gruppo di risorseAdd a resource to the resource group
  3. Aggiungere un tag alla risorsaAdd a tag to the resource
  4. Eseguire query sulle risorse in base ai nomi o ai valori dei tagQuery resources based on names or tag values
  5. Applicare e rimuovere un blocco sulla risorsaApply and remove a lock on the resource
  6. Eliminare un gruppo di risorseDelete a resource group

Questo articolo non illustra come distribuire un modello di Resource Manager nella sottoscrizione.This article does not show how to deploy a Resource Manager template to your subscription. Per informazioni in merito, vedere Distribuire le risorse con i modelli di Azure Resource Manager e Azure PowerShell.For that information, see Deploy resources with Resource Manager templates and Azure PowerShell.

guida introduttiva ad Azure PowerShellGet started with Azure PowerShell

Se Azure PowerShell non è installato, vedere l'articolo su come installare e configurare Azure PowerShell.If you have not installed Azure PowerShell, see How to install and configure Azure PowerShell.

Se Azure PowerShell è stato installato in passato ma non è stato aggiornato di recente, è consigliabile installare l'ultima versione.If you have installed Azure PowerShell in the past but have not updated it recently, consider installing the latest version. È possibile aggiornare la versione con lo stesso metodo usato per l'installazione.You can update the version through the same method you used to install it. Se è stata usata l'Installazione guidata piattaforma Web, ad esempio, avviarla di nuovo e cercare un aggiornamento.For example, if you used the Web Platform Installer, launch it again and look for an update.

Per controllare la versione del modulo Resources di Azure, usare il cmdlet seguente:To check your version of the Azure Resources module, use the following cmdlet:

Get-Module -ListAvailable -Name AzureRm.Resources | Select Version

Questo articolo è stato aggiornato per la versione 3.3.0.This article was updated for version 3.3.0. Se si ha una versione precedente, l'esperienza utente potrebbe non corrispondere ai passaggi illustrati in questo articolo.If you have an earlier version, your experience might not match the steps shown in this article. Per la documentazione sui cmdlet di questa versione, vedere AzureRM.Resources Module (Modulo AzureRM.Resources).For documentation about the cmdlets in this version, see AzureRM.Resources Module.

Accedere all'account AzureLog in to your Azure account

Prima di usare la soluzione, è necessario accedere al proprio account.Before working on your solution, you must log in to your account.

Per accedere al proprio account Azure, usare il cmdlet Login-AzureRmAccount.To log in to your Azure account, use the Login-AzureRmAccount cmdlet.

Login-AzureRmAccount

Il cmdlet richiede le credenziali di accesso per l'account di Azure.The cmdlet prompts you for the login credentials for your Azure account. Dopo l'accesso, vengono scaricate le impostazioni dell'account in modo che siano disponibili per Azure PowerShell.After logging in, it downloads your account settings so they are available to Azure PowerShell.

Il cmdlet restituisce informazioni sull'account e la sottoscrizione da usare per le attività.The cmdlet returns information about your account and the subscription to use for the tasks.

Environment           : AzureCloud
Account               : example@contoso.com
TenantId              : {guid}
SubscriptionId        : {guid}
SubscriptionName      : Example Subscription One
CurrentStorageAccount :

Se si hanno più sottoscrizioni, è possibile passare a un'altra sottoscrizione.If you have more than one subscription, you can switch to a different subscription. Per prima cosa, visualizzare tutte le sottoscrizioni dell'account.First, let's see all the subscriptions for your account.

Get-AzureRmSubscription

Vengono restituite le sottoscrizioni abilitate e disabilitate.It returns enabled and disabled subscriptions.

SubscriptionName : Example Subscription One
SubscriptionId   : {guid}
TenantId         : {guid}
State            : Enabled

SubscriptionName : Example Subscription Two
SubscriptionId   : {guid}
TenantId         : {guid}
State            : Enabled

SubscriptionName : Example Subscription Three
SubscriptionId   : {guid}
TenantId         : {guid}
State            : Disabled

Per passare a un'altra sottoscrizione, specificarne il nome con il cmdlet Set-AzureRmContext.To switch to a different subscription, provide the subscription name with the Set-AzureRmContext cmdlet.

Set-AzureRmContext -SubscriptionName "Example Subscription Two"

Creare un gruppo di risorseCreate a resource group

Prima di distribuire risorse nella sottoscrizione, è necessario creare un gruppo di risorse che conterrà le risorse.Before deploying any resources to your subscription, you must create a resource group that will contain the resources.

Per creare un gruppo di risorse, usare il cmdlet New-AzureRmResourceGroup .To create a resource group, use the New-AzureRmResourceGroup cmdlet. Il comando usa il parametro Name per specificare un nome per il gruppo di risorse e il parametro Location per specificarne la posizione.The command uses the Name parameter to specify a name for the resource group and the Location parameter to specify its location.

New-AzureRmResourceGroup -Name TestRG1 -Location "South Central US"

L'output presenta il formato seguente:The output is in the following format:

ResourceGroupName : TestRG1
Location          : southcentralus
ProvisioningState : Succeeded
Tags              :
ResourceId        : /subscriptions/{guid}/resourceGroups/TestRG1

Se è necessario recuperare il gruppo di risorse in un secondo momento, usare il cmdlet seguente:If you need to retrieve the resource group later, use the following cmdlet:

Get-AzureRmResourceGroup -ResourceGroupName TestRG1

Per ottenere tutti i gruppi di risorse della sottoscrizione, non specificare un nome:To get all the resource groups in your subscription, do not specify a name:

Get-AzureRmResourceGroup

Aggiungere risorse a un gruppo di risorseAdd resources to a resource group

Per aggiungere una risorsa al gruppo di risorse, è possibile usare il cmdlet New-AzureRmResource oppure un cmdlet specifico del tipo di risorsa che viene creato (ad esempio, New-AzureRmStorageAccount).To add a resource to the resource group, you can use the New-AzureRmResource cmdlet or a cmdlet that is specific to the type of resource you are creating (like New-AzureRmStorageAccount). Usare un cmdlet specifico di un tipo di risorsa può risultare più semplice perché il cmdlet include i parametri per le proprietà necessarie per la nuova risorsa.You might find it easier to use a cmdlet that is specific to a resource type because it includes parameters for the properties that are needed for the new resource. Per usare New-AzureRmResource, è necessario conoscere tutte le proprietà da impostare senza che vengano richieste.To use New-AzureRmResource, you must know all the properties to set without being prompted for them.

Aggiungere una risorsa tramite i cmdlet, tuttavia, potrebbe causare confusione in futuro perché la nuova risorsa non è inclusa in un modello di Resource Manager.However, adding a resource through cmdlets might cause future confusion because the new resource does not exist in a Resource Manager template. È consigliabile definire l'infrastruttura per la soluzione di Azure in un modello di Resource Manager.Microsoft recommends defining the infrastructure for your Azure solution in a Resource Manager template. I modelli consentono di distribuire la soluzione in modo affidabile e ripetutamente.Templates enable you to reliably and repeatedly deploy your solution. Per questo articolo viene creato un account di archiviazione con un cmdlet di PowerShell, ma successivamente viene generato un modello dal gruppo di risorse.For this article, you create a storage account with a PowerShell cmdlet, but later you generate a template from your resource group.

Il cmdlet seguente crea un account di archiviazione.The following cmdlet creates a storage account. Anziché usare il nome indicato nell'esempio, specificare un nome univoco per l'account di archiviazione.Instead of using the name shown in the example, provide a unique name for the storage account. Il nome deve essere di lunghezza compresa tra 3 e 24 caratteri e contenere solo numeri e lettere minuscole.The name must be between 3 and 24 characters in length, and use only numbers and lower-case letters. Se si usa il nome indicato nell'esempio, verrà visualizzato un errore perché tale nome è già in uso.If you use the name shown in the example, you receive an error because that name is already in use.

New-AzureRmStorageAccount -ResourceGroupName TestRG1 -AccountName mystoragename -Type "Standard_LRS" -Location "South Central US"

Se è necessario recuperare la risorsa in un secondo momento, usare il cmdlet seguente:If you need to retrieve this resource later, use the following cmdlet:

Get-AzureRmResource -ResourceName mystoragename -ResourceGroupName TestRG1

Aggiungere un tagAdd a tag

I tag consentono di organizzare le risorse in base a diverse proprietà.Tags enable you to organize your resources according to different properties. È ad esempio possibile che diverse risorse in diversi gruppi di risorse appartengano allo stesso reparto.For example, you may have several resources in different resource groups that belong to the same department. È possibile applicare un tag e un valore di reparto a tali risorse per contrassegnarle come appartenenti alla stessa categoriaYou can apply a department tag and value to those resources to mark them as belonging to the same category. oppure indicare se una risorsa viene usata in un ambiente di produzione o di testing.Or, you can mark whether a resource is used in a production or test environment. In questo articolo si applicano tag a una sola risorsa, ma nell'ambiente in uso è probabilmente opportuno applicare tag a tutte le risorse.In this article, you apply tags to only one resource, but in your environment it most likely makes sense to apply tags to all your resources.

Il cmdlet seguente applica due tag all'account di archiviazione:The following cmdlet applies two tags to your storage account:

Set-AzureRmResource -Tag @{ Dept="IT"; Environment="Test" } -ResourceName mystoragename -ResourceGroupName TestRG1 -ResourceType Microsoft.Storage/storageAccounts

I tag vengono aggiornati come un singolo oggetto.Tags are updated as a single object. Per aggiungere un tag a una risorsa che già include tag, per prima cosa recuperare i tag esistenti.To add a tag to a resource that already includes tags, first retrieve the existing tags. Aggiungere il nuovo tag all'oggetto contenente i tag esistenti e riapplicare tutti i tag alla risorsa.Add the new tag to the object that contains the existing tags, and reapply all the tags to the resource.

$tags = (Get-AzureRmResource -ResourceName mystoragename -ResourceGroupName TestRG1).Tags
$tags += @{Status="Approved"}
Set-AzureRmResource -Tag $tags -ResourceName mystoragename -ResourceGroupName TestRG1 -ResourceType Microsoft.Storage/storageAccounts

Cercare le risorseSearch for resources

Per recuperare le risorse in base a diverse condizioni di ricerca, usare il cmdlet Find-AzureRmResource.Use the Find-AzureRmResource cmdlet to retrieve resources for different search conditions.

  • Per ottenere una risorsa in base al nome, specificare il parametro ResourceNameContains:To get a resource by name, provide the ResourceNameContains parameter:

    Find-AzureRmResource -ResourceNameContains mystoragename
    
  • Per ottenere tutte le risorse in un gruppo di risorse, specificare il parametro ResourceGroupNameContains:To get all the resources in a resource group, provide the ResourceGroupNameContains parameter:

    Find-AzureRmResource -ResourceGroupNameContains TestRG1
    
  • Per ottenere tutte le risorse con un nome e un valore di tag, specificare i parametri TagName e TagValue:To get all the resources with a tag name and value, provide the TagName and TagValue parameters:

    Find-AzureRmResource -TagName Dept -TagValue IT
    
  • Per ottenere tutte le risorse con un determinato tipo di risorsa, specificare il parametro ResourceType:To all the resources with a particular resource type, provide the ResourceType parameter:

    Find-AzureRmResource -ResourceType Microsoft.Storage/storageAccounts
    

Ottenere l'ID risorsaGet resource ID

Molti comandi accettano un ID di risorsa come parametro.Many commands take a resource ID as a parameter. Per ottenere l'ID per una risorsa e per archiviarlo in una variabile usare:To get the ID for a resource and store in a variable, use:

$webappID = (Get-AzureRmResource -ResourceGroupName exampleGroup -ResourceName exampleSite).ResourceId

Bloccare una risorsaLock a resource

Quando è necessario assicurarsi che una risorsa strategica non venga eliminata o modificata accidentalmente, applicare un blocco alla risorsa.When you need to make sure a critical resource is not accidentally deleted or modified, apply a lock to the resource. È possibile specificare CanNotDelete o ReadOnly.You can specify either a CanNotDelete or ReadOnly.

Per creare o eliminare i blocchi di gestione, è necessario avere accesso alle azioni Microsoft.Authorization/* o Microsoft.Authorization/locks/*.To create or delete management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Fra i ruoli predefiniti, solo a Proprietario e Amministratore Accesso utenti sono concesse tali azioni.Of the built-in roles, only Owner and User Access Administrator are granted those actions.

Per applicare un blocco, usare il cmdlet seguente:To apply a lock, use the following cmdlet:

New-AzureRmResourceLock -LockLevel CanNotDelete -LockName LockStorage -ResourceName mystoragename -ResourceType Microsoft.Storage/storageAccounts -ResourceGroupName TestRG1

La risorsa bloccata nell'esempio precedente non potrà essere eliminata finché non verrà rimosso il blocco.The locked resource in the preceding example cannot be deleted until the lock is removed. Per rimuovere un blocco, usare:To remove a lock, use:

Remove-AzureRmResourceLock -LockName LockStorage -ResourceName mystoragename -ResourceType Microsoft.Storage/storageAccounts -ResourceGroupName TestRG1

Per altre informazioni sull'impostazione di blocchi, vedere l'articolo su come bloccare le risorse con Azure Resource Manager.For more information about setting locks, see Lock resources with Azure Resource Manager.

Rimuovere risorse o un gruppo di risorseRemove resources or resource group

È possibile rimuovere una risorsa o un gruppo di risorse.You can remove a resource or resource group. Quando si rimuove un gruppo di risorse, si rimuovono anche tutte le risorse in esso contenute.When you remove a resource group, you also remove all the resources within that resource group.

  • Per eliminare una risorsa dal gruppo di risorse, usare il cmdlet Remove-AzureRmResource .To delete a resource from the resource group, use the Remove-AzureRmResource cmdlet. Questo cmdlet elimina la risorsa, ma non il gruppo di risorse.This cmdlet deletes the resource, but does not delete the resource group.

    Remove-AzureRmResource -ResourceName mystoragename -ResourceType Microsoft.Storage/storageAccounts -ResourceGroupName TestRG1
    
  • Per eliminare un gruppo di risorse e tutte le relative risorse, usare il cmdlet Remove-AzureRmResourceGroup.To delete a resource group and all its resources, use the Remove-AzureRmResourceGroup cmdlet.

    Remove-AzureRmResourceGroup -Name TestRG1
    

Per entrambi i cmdlet viene richiesto di confermare che si vuole rimuovere la risorsa o il gruppo di risorse.For both cmdlets, you are asked to confirm that you wish to remove the resource or resource group. Se l'eliminazione della risorsa o del gruppo di risorse viene completata, l'operazione restituisce True.If the operation successfully deletes the resource or resource group, it returns True.

Eseguire script di Resource Manager con Automazione di AzureRun Resource Manager scripts with Azure Automation

Questo articolo illustra come eseguire operazioni di base sulle risorse con Azure PowerShell.This article shows you how to perform basic operations on your resources with Azure PowerShell. Per scenari di gestione più avanzati, è in genere opportuno creare uno script e riusare tale script in base alle esigenze o a una pianificazione.For more advanced management scenarios, you typically want to create a script, and reuse that script as needed or on a schedule. Automazione di Azure consente di automatizzare gli script di uso frequente che gestiscono le soluzioni di Azure.Azure Automation provides a way for you to automate frequently used scripts that manage your Azure solutions.

Gli argomenti seguenti illustrano come usare Automazione di Azure, Resource Manager e PowerShell per eseguire attività di gestione in modo efficace:The following topics show you how to use Azure Automation, Resource Manager, and PowerShell to effectively perform management tasks:

Passaggi successiviNext steps