Aan de slag met Azure PowerShellGet started with Azure PowerShell

Azure PowerShell is ontworpen om Azure-resources te beheren vanaf de opdrachtregel en voor het bouwen van automatiseringsscripts die op basis van Azure Resource Manager werken.Azure PowerShell is designed for managing and administering Azure resources from the command line, and for building automation scripts that work against the Azure Resource Manager. U kunt PowerShell in uw browser gebruiken met Azure Cloud Shell of installeren op uw lokale computer.You can use it in your browser with Azure Cloud Shell or you install it on your local machine. Dit artikel helpt u op weg met het gebruik van Azure PowerShell en leert u wat de belangrijkste concepten zijn die eraan ten grondslag liggen.This article helps get you started with Azure PowerShell and teaches the core concepts behind it.

Azure PowerShell installerenInstall Azure PowerShell

De eerste stap bestaat eruit dat u moet controleren of de nieuwste versie van Azure PowerShell is geïnstalleerd.The first step is to make sure you have the latest version of the Azure PowerShell installed. Zie de opmerkingen bij de release voor meer informatie over de nieuwste release.For information about the latest release, see the release notes.

  1. Installeer Azure PowerShell.Install Azure PowerShell.

  2. Voer Get-Module AzureRM -ListAvailable uit vanaf de opdrachtregel om te controleren of de installatie is geslaagd.To verify the installation was successful, run Get-Module AzureRM -ListAvailable from your command line.

Azure Cloud ShellAzure Cloud Shell

De eenvoudigste manier om te beginnen is door Cloud Shell te openen.The simplest way to get started is to launch Cloud Shell.

  1. Open Cloud Shell via de bovenste navigatiebalk van de Azure Portal.Launch Cloud Shell from the top navigation of the Azure portal.

    Shell-pictogram

  2. Kies het abonnement dat u wilt gebruiken en maak een opslagaccount.Choose the subscription you want to use and create a storage account.

    Create a storage account

Zodra de opslag is gemaakt, wordt er door Cloud Shell een PowerShell-sessie geopend in de browser.Once your storage has been created, the Cloud Shell will open a PowerShell session in the browser.

Cloud Shell voor PowerShell

U kunt ook Azure PowerShell installeren en lokaal gebruiken in een PowerShell-sessie.You can also install Azure PowerShell and use it locally in a PowerShell session.

Aanmelden bij AzureSign in to Azure

Interactief aanmelden:Sign on interactively:

  1. Typ Connect-AzureRmAccount.Type Connect-AzureRmAccount. U krijgt een dialoogvenster te zien waarin wordt gevraagd naar uw Azure-referenties.You will get dialog box asking for your Azure credentials. Met behulp van de optie '-Environment' kunt u zich aanmelden bij Azure China of Azure Duitsland.Option '-Environment' can let you authenticate for Azure China or Azure Germany.

    Bijvoorbeeld: Connect-AzureRmAccount -Environment AzureChinaCloude.g. Connect-AzureRmAccount -Environment AzureChinaCloud

  2. Typ het e-mailadres en het wachtwoord die bij uw account horen.Type the email address and password associated with your account. Azure verifieert de referentiegegevens en slaat deze op. Vervolgens wordt het venster gesloten.Azure authenticates and saves the credential information, and then closes the window.

Wanneer u bent aangemeld bij een Azure-account, kunt u de Azure PowerShell-cmdlets gebruiken om toegang te krijgen tot de resources in uw abonnement en deze te beheren.Once you have signed in to an Azure account, you can use the Azure PowerShell cmdlets to access and manage the resources in your subscription.

Een virtuele Windows-machine maken met behulp van eenvoudige standaardwaardenCreate a Windows virtual machine using simple defaults

De cmdlet New-AzureRmVM biedt een vereenvoudigde syntaxis waarmee u gemakkelijk een nieuwe virtuele machine maakt.The New-AzureRmVM cmdlet provides a simplified syntax making it easy to create a new virtual machine. Er zijn slechts twee parameterwaarden die u moet opgeven: de naam van de VM en een set referenties voor het lokale beheerdersaccount op de VM.There are only two parameter values you must provide: the name of the VM and a set of credentials for the local administrator account on the VM.

Maak eerst het referentieobject.First, create the credential object.

$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: localAdmin
Password for user localAdmin: *********

Maak vervolgens de VM.Next, create the VM.

New-AzureRmVM -Name SampleVM -Credential $cred
ResourceGroupName        : SampleVM
Id                       : /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/SampleVM/providers/Microsoft.Compute/virtualMachines/SampleVM
VmId                     : 43f6275d-ce50-49c8-a831-5d5974006e63
Name                     : SampleVM
Type                     : Microsoft.Compute/virtualMachines
Location                 : eastus
Tags                     : {}
HardwareProfile          : {VmSize}
NetworkProfile           : {NetworkInterfaces}
OSProfile                : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState        : Succeeded
StorageProfile           : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : samplevm-2c0867.eastus.cloudapp.azure.com

Dat was makkelijk.That was easy. Maar misschien vraagt u zich af wat er nog meer is gemaakt en hoe de VM is geconfigureerd.But, you may wonder what else is created and how is the VM configured. Bekijk eerst uw resourcegroepen.First, let's look at our resource groups.

Get-AzureRmResourceGroup | Select-Object ResourceGroupName,Location
ResourceGroupName          Location
-----------------          --------
cloud-shell-storage-westus westus
SampleVM                   eastus

De resourcegroep cloud-shell-storage-westus wordt gemaakt wanneer u Cloud Shell voor het eerst gebruikt.The cloud-shell-storage-westus resource group is created the first time you use the Cloud Shell. De resourcegroep SampleVM is door de cmdlet New-AzureRmVM gemaakt.The SampleVM resource group was created by the New-AzureRmVM cmdlet.

Maar welke andere resources zijn er gemaakt in deze nieuwe resourcegroep?Now, what other resources were created in this new resource group?

Get-AzureRmResource |
  Where ResourceGroupName -eq SampleVM |
    Select-Object ResourceGroupName,Location,ResourceType,Name
ResourceGroupName          Location ResourceType                            Name
-----------------          -------- ------------                            ----
SAMPLEVM                   eastus   Microsoft.Compute/disks                 SampleVM_OsDisk_1_9b286c54b168457fa1f8c47...
SampleVM                   eastus   Microsoft.Compute/virtualMachines       SampleVM
SampleVM                   eastus   Microsoft.Network/networkInterfaces     SampleVM
SampleVM                   eastus   Microsoft.Network/networkSecurityGroups SampleVM
SampleVM                   eastus   Microsoft.Network/publicIPAddresses     SampleVM
SampleVM                   eastus   Microsoft.Network/virtualNetworks       SampleVM

Laten we wat meer informatie ophalen over de VM.Let's get some more details about the VM. Deze voorbeelden laten zien hoe u informatie over de installatiekopie van het besturingssysteem ophaalt die is gebruikt om de VM te maken.This examples shows how to retrieve information about the OS Image used to create the VM.

Get-AzureRmVM -Name SampleVM -ResourceGroupName SampleVM |
  Select-Object -ExpandProperty StorageProfile |
    Select-Object -ExpandProperty ImageReference
Publisher : MicrosoftWindowsServer
Offer     : WindowsServer
Sku       : 2016-Datacenter
Version   : latest
Id        :

Een volledig geconfigureerde virtuele Linux-machine makenCreate a fully configured Linux Virtual Machine

In het vorige voorbeeld werden de vereenvoudigde syntaxis en standaardparameterwaarden gebruikt om een virtuele Windows-machine te maken.The previous example used the simplified syntax and default parameter values to create a Windows virtual machine. In dit voorbeeld geven we waarden voor alle opties van de virtuele machine.In this example, we provide values for all options of the virtual machine.

Een resourcegroep makenCreate a resource group

In dit voorbeeld maken we een resourcegroep.For this example we want to create a Resource Group. Resourcegroepen in Azure bieden u een manier voor het beheren van meerdere resources die u op een logische wijze wilt groeperen.Resource Groups in Azure provide a way to manage multiple resources that you want to logically group together. U kunt bijvoorbeeld een resourcegroep voor een toepassing of project maken, en een virtuele machine, een database en een CDN-service aan deze resourcegroep toevoegen.For example, you might create a Resource Group for an application or project and add a virtual machine, a database and a CDN service within it.

Laten we een resourcegroep maken met de naam 'MyResourceGroup' in de Azure-regio Europa West.Let's create a resource group named "MyResourceGroup" in the westeurope region of Azure. Typ daartoe de volgende opdracht:To do so type the following command:

New-AzureRmResourceGroup -Name 'myResourceGroup' -Location 'westeurope'
ResourceGroupName : myResourceGroup
Location          : westeurope
ProvisioningState : Succeeded
Tags              :
ResourceId        : /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/myResourceGroup

Deze nieuwe resourcegroep wordt gebruikt om alle benodigde resources voor het maken van een nieuwe VM op te slaan.This new resource group will be used to contain all of the resources needed for the new VM we create. Als we een nieuwe virtuele Linux-machine maken, moeten we eerst de vereiste resources maken en deze toewijzen aan een configuratie.To create a new Linux VM we must first create the other required resources and assign them to a configuration. Vervolgens gebruiken we die configuratie om de virtuele machine te maken.Then we can use that configuration to create the VM. Er moet zich ook een openbare SSH-sleutel met de naam id_rsa.pub in de map .ssh van uw gebruikersprofiel bevinden.Also, you will need to have an SSH public key named id_rsa.pub in the .ssh directory of your user profile.

De vereiste netwerkresources makenCreate the required network resources

Eerst moet er een subnetconfiguratie worden gemaakt die wordt gebruikt bij het maken van het virtuele netwerk.First we need to create a subnet configuration to be used with the virtual network creation process. We gaan ook een openbaar IP-adres maken, zodat er verbinding met deze virtuele machine kan worden gemaakt.We also create a public IP address so that we can connect to this VM. We maken een netwerkbeveiligingsgroep voor beveiligde toegang tot het openbare adres.We create a network security group to secure access to the public address. Ten slotte maken we de virtuele NIC met alle voorgaande resources.Finally we create the virtual NIC using all of the previous resources.

# Variables for common values
$resourceGroup = "myResourceGroup"
$location = "westeurope"
$vmName = "myLinuxVM"

# Definer user name and blank password
$securePassword = ConvertTo-SecureString 'azurepassword' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("azureuser", $securePassword)

# Create a subnet configuration
$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet2 -AddressPrefix 192.168.2.0/24

# Create a virtual network
$vnet = New-AzureRmVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
  -Name MYvNET2 -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig

# Create a public IP address and specify a DNS name
$publicIp = New-AzureRmPublicIpAddress -ResourceGroupName $resourceGroup -Location $location `
  -Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4
$publicIp | Select-Object Name,IpAddress

# Create an inbound network security group rule for port 22
$nsgRuleSSH = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleSSH  -Protocol Tcp `
  -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
  -DestinationPortRange 22 -Access Allow

# Create a network security group
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
  -Name myNetworkSecurityGroup2 -SecurityRules $nsgRuleSSH

# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzureRmNetworkInterface -Name myNic2 -ResourceGroupName $resourceGroup -Location $location `
  -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIp.Id -NetworkSecurityGroupId $nsg.Id

De VM-configuratie makenCreate the VM configuration

Nu u de vereiste resources hebt, kunt u het VM-configuratieobject maken.Now that we have the required resources we can create the VM configuration object.

# Create a virtual machine configuration
$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize Standard_D1 |
  Set-AzureRmVMOperatingSystem -Linux -ComputerName $vmName -Credential $cred -DisablePasswordAuthentication |
  Set-AzureRmVMSourceImage -PublisherName Canonical -Offer UbuntuServer -Skus 14.04.2-LTS -Version latest |
  Add-AzureRmVMNetworkInterface -Id $nic.Id

# Configure SSH Keys
$sshPublicKey = Get-Content -Raw "$env:USERPROFILE\.ssh\id_rsa.pub"
Add-AzureRmVMSshPublicKey -VM $vmConfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys"

De virtuele machine makenCreate the virtual machine

Nu kunt u de VM maken met behulp van het VM-configuratieobject.Now we can create the VM using the VM configuration object.

New-AzureRmVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig

Nu de virtuele machine is gemaakt, kunt u zich aanmelden bij uw nieuwe virtuele Linux-machine via SSH, met het openbare IP-adres van de virtuele machine die u hebt gemaakt:Now that the VM has been created, you can log on to your new Linux VM using SSH with the public IP address of the VM you created:

ssh xx.xxx.xxx.xxx
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-65-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Feb 19 00:32:28 UTC 2017

  System load: 0.31              Memory usage: 3%   Processes:       89
  Usage of /:  39.6% of 1.94GB   Swap usage:   0%   Users logged in: 0

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

my-login@MyLinuxVM:../../..$

Andere resources in Azure makenCreating other resources in Azure

We hebben u nu laten zien welke stappen u moet uitvoeren om een resourcegroep, een virtuele Linux-machine en een virtuele Windows Server-machine te maken.We've now walked through how to create a Resource Group, a Linux VM, and a Windows Server VM. U kunt ook nog vele andere typen Azure-resources maken.You can create many other types of Azure resources as well.

Als we bijvoorbeeld een Azure Network Load Balancer willen maken die we vervolgens gaan koppelen aan de nieuwe virtuele machines, kunnen we daarvoor de volgende opdracht gebruiken:For example, to create an Azure Network Load Balancer that we could then associate with our newly created VMs, we can use the following create command:

New-AzureRmLoadBalancer -Name MyLoadBalancer -ResourceGroupName myResourceGroup -Location westeurope

We kunnen voor onze infrastructuur ook een nieuw privé virtueel netwerk (dat binnen Azure doorgaans 'VNet' wordt genoemd) maken en wel met de volgende opdracht:We could also create a new private Virtual Network (commonly referred to as a "VNet" within Azure) for our infrastructure using the following command:

$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet2 -AddressPrefix 10.0.0.0/16
$vnet = New-AzureRmVirtualNetwork -ResourceGroupName myResourceGroup -Location westeurope `
  -Name MYvNET3 -AddressPrefix 10.0.0.0/16 -Subnet $subnetConfig

Wat Azure en Azure PowerShell zo krachtig maakt, is dat ze niet alleen kunnen worden gebruikt in de cloudinfrastructuur, maar ook voor het maken van beheerde platformservices.What makes Azure and the Azure PowerShell powerful is that we can use it not just to get cloud-based infrastructure but also to create managed platform services. De beheerde platformservices kunnen bovendien worden gecombineerd met de infrastructuur om nog krachtigere oplossingen te maken.The managed platform services can also be combined with infrastructure to build even more powerful solutions.

U kunt bijvoorbeeld Azure PowerShell gebruiken om een Azure AppService te maken.For example, you can use the Azure PowerShell to create an Azure AppService. Azure AppService is een beheerde platformservice die uitstekend kan worden gebruikt om web-apps te hosten zonder dat u zich zorgen hoeft te maken over de infrastructuur.Azure AppService is a managed platform service that provides a great way to host web apps without having to worry about infrastructure. Nadat de Azure AppService is gemaakt, kunt u binnen de AppService twee nieuwe Azure-web-apps maken en wel met de volgende opdrachten:After creating the Azure AppService, you can create two new Azure Web Apps within the AppService using the following commands:

# Create an Azure AppService that we can host any number of web apps within
New-AzureRmAppServicePlan -Name MyAppServicePlan -Tier Basic -NumberofWorkers 2 -WorkerSize Small -ResourceGroupName myResourceGroup -Location westeurope

# Create Two Web Apps within the AppService (note: name param must be a unique DNS entry)
New-AzureRmWebApp -Name MyWebApp43432 -AppServicePlan MyAppServicePlan -ResourceGroupName myResourceGroup -Location westeurope
New-AzureRmWebApp -Name MyWebApp43433 -AppServicePlan MyAppServicePlan -ResourceGroupName myResourceGroup -Location westeurope

Geïmplementeerde resources in een lijst weergevenListing deployed resources

U kunt de cmdlet Get-AzureRmResource gebruiken om de resources weer te geven die in Azure worden uitgevoerd.You can use the Get-AzureRmResource cmdlet to list the resources running in Azure. In het volgende voorbeeld worden de resources weergegeven die we zojuist in de nieuwe resourcegroep hebben gemaakt.The following example shows the resources we just created in the new resource group.

Get-AzureRmResource |
  Where-Object ResourceGroupName -eq myResourceGroup |
    Select-Object Name,Location,ResourceType
Name                                                  Location   ResourceType
----                                                  --------   ------------
myLinuxVM_OsDisk_1_36ca038791f642ba91270879088c249a   westeurope Microsoft.Compute/disks
myWindowsVM_OsDisk_1_f627e6e2bb454c72897d72e9632adf9a westeurope Microsoft.Compute/disks
myLinuxVM                                             westeurope Microsoft.Compute/virtualMachines
myWindowsVM                                           westeurope Microsoft.Compute/virtualMachines
myWindowsVM/BGInfo                                    westeurope Microsoft.Compute/virtualMachines/extensions
myNic1                                                westeurope Microsoft.Network/networkInterfaces
myNic2                                                westeurope Microsoft.Network/networkInterfaces
myNetworkSecurityGroup1                               westeurope Microsoft.Network/networkSecurityGroups
myNetworkSecurityGroup2                               westeurope Microsoft.Network/networkSecurityGroups
mypublicdns245369171                                  westeurope Microsoft.Network/publicIPAddresses
mypublicdns779537141                                  westeurope Microsoft.Network/publicIPAddresses
MYvNET1                                               westeurope Microsoft.Network/virtualNetworks
MYvNET2                                               westeurope Microsoft.Network/virtualNetworks
micromyresomywi032907510                              westeurope Microsoft.Storage/storageAccounts

Resources verwijderenDeleting resources

Als u uw Azure-account wilt opschonen, moet u de resources verwijderen die in dit voorbeeld zijn gemaakt.To clean up your Azure account, you want to remove the resources we created in this example. U kunt de cmdlets Remove-AzureRm* gebruiken om de resources te verwijderen die u niet meer nodig hebt.You can use the Remove-AzureRm* cmdlets to delete the resources you no longer need. Als u de virtuele Windows-machine wilt verwijderen die we hebben gemaakt, gebruikt u de volgende opdracht:To remove the Windows VM we created, using the following command:

Remove-AzureRmVM -Name myWindowsVM -ResourceGroupName myResourceGroup

U wordt gevraagd om te bevestigen dat u de resource wilt verwijderen.You will be prompted to confirm that you want to remove the resource.

Confirm
Are you sure you want to remove resource group 'myResourceGroup'
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

U kunt ook een opdracht gebruiken om veel resources in één keer te verwijderen.You can also use the delete many resources at one time. Met de volgende opdracht wordt bijvoorbeeld de volledige resourcegroep 'MyResourceGroup' verwijderd die we hebben gebruikt in alle voorbeelden in deze Aan de slag-zelfstudie.For example, the following command deletes all the resource group "MyResourceGroup" that we've used for all the samples in this Get Started tutorial. Hiermee verwijdert u de resourcegroep en alle resources die deze bevat.This removes the resource group and all of the resources in it.

Remove-AzureRmResourceGroup -Name myResourceGroup
Confirm
Are you sure you want to remove resource group 'myResourceGroup'
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

Dit kan enkele minuten in beslag nemen.This can take several minutes to complete.

Voorbeelden ophalenGet samples

Voor meer informatie over het gebruik van Azure PowerShell kunt u onze meest voorkomende scripts voor virtuele Linux-machines, virtuele Windows-machines, Web Apps en SQL Databases raadplegen.To learn more about ways to use the Azure PowerShell, check out our most common scripts for Linux VMs, Windows VMs, Web Apps, and SQL Databases.

Volgende stappenNext steps