A PowerShell rövid útmutatója Azure Cloud ShellQuickstart for PowerShell in Azure Cloud Shell

Ez a dokumentum részletesen ismerteti, hogyan használható a PowerShell a Azure PortalCloud Shellban.This document details how to use the PowerShell in Cloud Shell in the Azure portal.

Megjegyzés

Azure Cloud Shell rövid útmutatóban is elérhető bash .A Bash in Azure Cloud Shell Quickstart is also available.

Cloud Shell indításaStart Cloud Shell

  1. Kattintson Cloud Shell gombra a Azure Portal felső navigációs sávján.Click on Cloud Shell button from the top navigation bar of the Azure portal

  2. Válassza ki a PowerShell-környezetet a legördülő listából, és az Azure Drive-ban lesz(Azure:)Select the PowerShell environment from the drop-down and you will be in Azure drive (Azure:)

PowerShell-parancsok futtatásaRun PowerShell commands

Futtasson rendszeres PowerShell-parancsokat a Cloud Shellban, például:Run regular PowerShell commands in the Cloud Shell, such as:

PS Azure:\> Get-Date

# Expected Output
Friday, July 27, 2018 7:08:48 AM

PS Azure:\> Get-AzVM -Status

# Expected Output
ResourceGroupName       Name       Location                VmSize   OsType     ProvisioningState  PowerState
-----------------       ----       --------                ------   ------     -----------------  ----------
MyResourceGroup2        Demo        westus         Standard_DS1_v2  Windows    Succeeded           running
MyResourceGroup         MyVM1       eastus            Standard_DS1  Windows    Succeeded           running
MyResourceGroup         MyVM2       eastus   Standard_DS2_v2_Promo  Windows    Succeeded           deallocated
  1. A meghajtóról származó összes előfizetés listázása AzureList all your subscriptions from Azure drive

    PS Azure:\> dir
    
  2. cdaz előnyben részesített előfizetéscd to your preferred subscription

    PS Azure:\> cd MySubscriptionName
    PS Azure:\MySubscriptionName>
    
  3. Az összes Azure-erőforrás megtekintése a jelenlegi előfizetésbenView all your Azure resources under the current subscription

    Az dir Azure-erőforrások több nézetének listázásához írja be a következőt:.Type dir to list multiple views of your Azure resources.

    PS Azure:\MySubscriptionName> dir
    
        Directory: azure:\MySubscriptionName
    
    Mode Name
    ---- ----
    +    AllResources
    +    ResourceGroups
    +    StorageAccounts
    +    VirtualMachines
    +    WebApps
    

AllResources nézetAllResources view

dir AllResources Az Azure-erőforrások megtekintéséhez írja be a következőt: könyvtár.Type dir under AllResources directory to view your Azure resources.

PS Azure:\MySubscriptionName> dir AllResources

Erőforráscsoportok megismeréseExplore resource groups

ResourceGroupsMegkeresheti a könyvtárat, és egy adott erőforráscsoporthoz is megtalálhatja a virtuális gépeket.You can go to the ResourceGroups directory and inside a specific resource group you can find virtual machines.

PS Azure:\MySubscriptionName> cd ResourceGroups\MyResourceGroup1\Microsoft.Compute\virtualMachines

PS Azure:\MySubscriptionName\ResourceGroups\MyResourceGroup1\Microsoft.Compute\virtualMachines> dir


    Directory: Azure:\MySubscriptionName\ResourceGroups\MyResourceGroup1\Microsoft.Compute\virtualMachines


VMName    Location   ProvisioningState VMSize          OS            SKU             OSVersion AdminUserName  NetworkInterfaceName
------    --------   ----------------- ------          --            ---             --------- -------------  --------------------
TestVm1   westus     Succeeded         Standard_DS2_v2 WindowsServer 2016-Datacenter Latest    AdminUser      demo371
TestVm2   westus     Succeeded         Standard_DS1_v2 WindowsServer 2016-Datacenter Latest    AdminUser      demo271

Megjegyzés

Megfigyelheti, hogy a második alkalommal, amikor beírja dir , a Cloud Shell sokkal gyorsabban tudja megjeleníteni az elemeket.You may notice that the second time when you type dir, the Cloud Shell is able to display the items much faster. Ennek az az oka, hogy a gyermek elemeket a rendszer a memóriában gyorsítótárazza a jobb felhasználói élmény érdekében.This is because the child items are cached in memory for a better user experience. Azonban bármikor felhasználhatja dir -Force a friss adatgyűjtést.However, you can always use dir -Force to get fresh data.

A címtárba való belépéssel StorageAccounts könnyedén megtekintheti az összes tárolási erőforrástBy entering into the StorageAccounts directory, you can easily navigate all your storage resources

PS Azure:\MySubscriptionName\StorageAccounts\MyStorageAccountName\Files> dir

    Directory: Azure:\MySubscriptionNameStorageAccounts\MyStorageAccountName\Files

Name          ConnectionString
----          ----------------
MyFileShare1  \\MyStorageAccountName.file.core.windows.net\MyFileShare1;AccountName=MyStorageAccountName AccountKey=<key>
MyFileShare2  \\MyStorageAccountName.file.core.windows.net\MyFileShare2;AccountName=MyStorageAccountName AccountKey=<key>
MyFileShare3  \\MyStorageAccountName.file.core.windows.net\MyFileShare3;AccountName=MyStorageAccountName AccountKey=<key>

A kapcsolódási karakterlánccal a következő parancs használatával csatlakoztathatja a Azure Files-megosztást.With the connection string, you can use the following command to mount the Azure Files share.

net use <DesiredDriveLetter>: \\<MyStorageAccountName>.file.core.windows.net\<MyFileShareName> <AccountKey> /user:Azure\<MyStorageAccountName>

Részletekért lásd: Azure Files-megosztás csatlakoztatása és a megosztás elérése a Windowsban.For details, see Mount an Azure Files share and access the share in Windows.

A Azure Files megosztás alatt lévő címtárakat a következőképpen is megtekintheti:You can also navigate the directories under the Azure Files share as follows:

PS Azure:\MySubscriptionName\StorageAccounts\MyStorageAccountName\Files> cd .\MyFileShare1\
PS Azure:\MySubscriptionName\StorageAccounts\MyStorageAccountName\Files\MyFileShare1> dir

Mode  Name
----  ----
+     TestFolder
.     hello.ps1

Kommunikáció a virtuális gépekkelInteract with virtual machines

A jelenlegi előfizetéshez tartozó összes virtuális gépet megtalálhatja a VirtualMachines címtár használatával.You can find all your virtual machines under the current subscription via VirtualMachines directory.

PS Azure:\MySubscriptionName\VirtualMachines> dir

    Directory: Azure:\MySubscriptionName\VirtualMachines


Name       ResourceGroupName  Location  VmSize          OsType              NIC ProvisioningState  PowerState
----       -----------------  --------  ------          ------              --- -----------------  ----------
TestVm1    MyResourceGroup1   westus    Standard_DS2_v2 Windows       my2008r213         Succeeded     stopped
TestVm2    MyResourceGroup1   westus    Standard_DS1_v2 Windows          jpstest         Succeeded deallocated
TestVm10   MyResourceGroup2   eastus    Standard_DS1_v2 Windows           mytest         Succeeded     running

PowerShell-parancsfájl meghívása távoli virtuális gépek közöttInvoke PowerShell script across remote VMs

Feltételezve, hogy rendelkezik egy virtuális géppel, a MyVM1 a Invoke-AzVMCommand távoli gépen egy PowerShell-szkriptet is meghívhat.Assuming you have a VM, MyVM1, let's use Invoke-AzVMCommand to invoke a PowerShell script block on the remote machine.

Enable-AzVMPSRemoting -Name MyVM1 -ResourceGroupname MyResourceGroup
Invoke-AzVMCommand -Name MyVM1 -ResourceGroupName MyResourceGroup -Scriptblock {Get-ComputerInfo} -Credential (Get-Credential)

A VirtualMachines címtárat először is megnyithatja, és a következőképpen futtathatja Invoke-AzVMCommand .You can also navigate to the VirtualMachines directory first and run Invoke-AzVMCommand as follows.

PS Azure:\> cd MySubscriptionName\ResourceGroups\MyResourceGroup\Microsoft.Compute\virtualMachines
PS Azure:\MySubscriptionName\ResourceGroups\MyResourceGroup\Microsoft.Compute\virtualMachines> Get-Item MyVM1 | Invoke-AzVMCommand -Scriptblock {Get-ComputerInfo} -Credential (Get-Credential)

# You will see output similar to the following:

PSComputerName                                          : 65.52.28.207
RunspaceId                                              : 2c2b60da-f9b9-4f42-a282-93316cb06fe1
WindowsBuildLabEx                                       : 14393.1066.amd64fre.rs1_release_sec.170327-1835
WindowsCurrentVersion                                   : 6.3
WindowsEditionId                                        : ServerDatacenter
WindowsInstallationType                                 : Server
WindowsInstallDateFromRegistry                          : 5/18/2017 11:26:08 PM
WindowsProductId                                        : 00376-40000-00000-AA947
WindowsProductName                                      : Windows Server 2016 Datacenter
WindowsRegisteredOrganization                           :
 ...

Interaktív bejelentkezés egy távoli virtuális gépreInteractively log on to a remote VM

Az használatával Enter-AzVM interaktív módon bejelentkezhet az Azure-ban futó virtuális gépekre.You can use Enter-AzVM to interactively log into a VM running in Azure.

PS Azure:\> Enter-AzVM -Name MyVM1 -ResourceGroupName MyResourceGroup -Credential (Get-Credential)

A könyvtárat a következőképpen is megnyithatja VirtualMachines és futtathatja Enter-AzVMYou can also navigate to the VirtualMachines directory first and run Enter-AzVM as follows

PS Azure:\MySubscriptionName\ResourceGroups\MyResourceGroup\Microsoft.Compute\virtualMachines> Get-Item MyVM1 | Enter-AzVM -Credential (Get-Credential)

WebApps felderítéseDiscover WebApps

A címtárba való belépéssel WebApps könnyedén megtekintheti a webalkalmazások erőforrásaitBy entering into the WebApps directory, you can easily navigate your web apps resources

PS Azure:\MySubscriptionName> dir .\WebApps\

    Directory: Azure:\MySubscriptionName\WebApps

Name            State    ResourceGroup      EnabledHostNames                  Location
----            -----    -------------      ----------------                  --------
mywebapp1       Stopped  MyResourceGroup1   {mywebapp1.azurewebsites.net...   West US
mywebapp2       Running  MyResourceGroup2   {mywebapp2.azurewebsites.net...   West Europe
mywebapp3       Running  MyResourceGroup3   {mywebapp3.azurewebsites.net...   South Central US

# You can use Azure cmdlets to Start/Stop your web apps
PS Azure:\MySubscriptionName\WebApps> Start-AzWebApp -Name mywebapp1 -ResourceGroupName MyResourceGroup1

Name           State    ResourceGroup        EnabledHostNames                   Location
----           -----    -------------        ----------------                   --------
mywebapp1      Running  MyResourceGroup1     {mywebapp1.azurewebsites.net ...   West US

# Refresh the current state with -Force
PS Azure:\MySubscriptionName\WebApps> dir -Force

    Directory: Azure:\MySubscriptionName\WebApps

Name            State    ResourceGroup      EnabledHostNames                  Location
----            -----    -------------      ----------------                  --------
mywebapp1       Running  MyResourceGroup1   {mywebapp1.azurewebsites.net...   West US
mywebapp2       Running  MyResourceGroup2   {mywebapp2.azurewebsites.net...   West Europe
mywebapp3       Running  MyResourceGroup3   {mywebapp3.azurewebsites.net...   South Central US

SSHSSH

Ha SSH-val szeretne hitelesítést végezni a kiszolgálókon vagy virtuális gépeken, hozza a nyilvános titkos kulcspár Cloud Shell, és tegye közzé a nyilvános kulcsot a authorized_keys távoli gépen, például: /home/user/.ssh/authorized_keys .To authenticate to servers or VMs using SSH, generate the public-private key pair in Cloud Shell and publish the public key to authorized_keys on the remote machine, such as /home/user/.ssh/authorized_keys.

Megjegyzés

Létrehozhat egy nyilvános SSH-kulcsot, ssh-keygen és közzéteheti őket a $env:USERPROFILE\.ssh Cloud Shellban.You can create SSH private-public keys using ssh-keygen and publish them to $env:USERPROFILE\.ssh in Cloud Shell.

Az SSH használataUsing SSH

Az új virtuálisgép-konfiguráció Azure PowerShell parancsmagokkal történő létrehozásához kövesse az alábbi utasításokat.Follow instructions here to create a new VM configuration using Azure PowerShell cmdlets. Mielőtt New-AzVM megkezdi az üzembe helyezést, adjon hozzá egy nyilvános SSH-kulcsot a virtuális gép konfigurációjához.Before calling into New-AzVM to kick off the deployment, add SSH public key to the VM configuration. Az újonnan létrehozott virtuális gép tartalmazni fogja a nyilvános kulcsot a ~\.ssh\authorized_keys helyen, így lehetővé teszi a hitelesítő adatokkal való ingyenes SSH-munkamenetet a virtuális géphez.The newly created VM will contain the public key in the ~\.ssh\authorized_keys location, thereby enabling credential-free SSH session to the VM.

# Create VM config object - $vmConfig using instructions on linked page above

# Generate SSH keys in Cloud Shell
ssh-keygen -t rsa -b 2048 -f $HOME\.ssh\id_rsa 

# Ensure VM config is updated with SSH keys
$sshPublicKey = Get-Content "$HOME\.ssh\id_rsa.pub"
Add-AzVMSshPublicKey -VM $vmConfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys"

# Create a virtual machine
New-AzVM -ResourceGroupName <yourResourceGroup> -Location <vmLocation> -VM $vmConfig

# SSH to the VM
ssh azureuser@MyVM.Domain.Com

Elérhető parancsok listázásaList available commands

AzureA meghajtó területen adja Get-AzCommand meg a környezetfüggő Azure-parancsok beolvasását.Under Azure drive, type Get-AzCommand to get context-specific Azure commands.

Azt is megteheti, Get-Command *az* -Module Az.* hogy bármikor megkeresi az elérhető Azure-parancsokat.Alternatively, you can always use Get-Command *az* -Module Az.* to find out the available Azure commands.

Egyéni modulok telepítéseInstall custom modules

A futtatásával Install-Module modulokat telepíthet a PowerShell-galériaból.You can run Install-Module to install modules from the PowerShell Gallery.

Get-HelpGet-Help

Írja be Get-Help a Azure Cloud Shell PowerShell-lel kapcsolatos információkat.Type Get-Help to get information about PowerShell in Azure Cloud Shell.

Get-Help

Egy adott parancs esetében továbbra is Get-Help egy parancsmag követhető.For a specific command, you can still do Get-Help followed by a cmdlet.

Get-Help Get-AzVM

Az adattároláshoz használjon Azure FilesUse Azure Files to store your data

Létrehozhat egy parancsfájlt, megadhatja helloworld.ps1 , és mentheti a clouddrive alkalmazásba a rendszerhéj-munkamenetek között.You can create a script, say helloworld.ps1, and save it to your clouddrive to use it across shell sessions.

cd $HOME\clouddrive
# Create a new file in clouddrive directory
New-Item helloworld.ps1
# Open the new file for editing
code .\helloworld.ps1
# Add the content, such as 'Hello World!'
.\helloworld.ps1
Hello World!

Amikor legközelebb a PowerShellt használja Cloud Shellban, a helloworld.ps1 fájl a $HOME\clouddrive Azure Files-megosztást csatlakoztató könyvtár alatt fog létezni.Next time when you use PowerShell in Cloud Shell, the helloworld.ps1 file will exist under the $HOME\clouddrive directory that mounts your Azure Files share.

Egyéni profil használataUse custom profile

A PowerShell-környezet testreszabható a PowerShell-profil (ok) létrehozásával profile.ps1 (vagy Microsoft.PowerShell_profile.ps1 ).You can customize your PowerShell environment, by creating PowerShell profile(s) - profile.ps1 (or Microsoft.PowerShell_profile.ps1). Mentse azt a $profile.CurrentUserAllHosts (vagy $profile.CurrentUserAllHosts ) alatt, hogy az Cloud Shell-munkamenetben lévő összes PowerShellben betölthető legyen.Save it under $profile.CurrentUserAllHosts (or $profile.CurrentUserAllHosts), so that it can be loaded in every PowerShell in Cloud Shell session.

A profilok létrehozásával kapcsolatban tekintse meg a About Profiles című témakört.For how to create a profile, refer to About Profiles.

A git használataUse Git

Git-tárház klónozásához a Cloud Shell létre kell hoznia egy személyes hozzáférési jogkivonatot , és azt felhasználónévként kell használni.To clone a Git repo in the Cloud Shell, you need to create a personal access token and use it as the username. Ha rendelkezik a jogkivonattal, a következő módon klónozott a tárházat:Once you have your token, clone the repository as follows:

  git clone https://<your-access-token>@github.com/username/repo.git

Kilépés a rendszerhéjbólExit the shell

exitA munkamenet megszakításához írja be a következőt:.Type exit to terminate the session.