Rövid útmutató a PowerShellhez a Azure Cloud Shell

Ez a dokumentum részletesen bemutatja, hogyan használhatja a PowerShellt Cloud Shell a Azure Portal.

Megjegyzés

A rövid Azure Cloud Shell Bash is elérhető.

Cloud Shell indítása

  1. Kattintson a Cloud Shell felső navigációs sávján található Azure Portal

    Képernyőkép a Azure Cloud Shell való Azure Portal.

  2. Válassza ki a PowerShell-környezetet a legördülő menüből, és az Azure-meghajtón lesz (Azure:)

    Képernyőkép a PowerShell-környezet kiválasztásáról a Azure Cloud Shell.

PowerShell-parancsok futtatása

Futtatassa a szokásos PowerShell-parancsokat a Cloud Shell, például:

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

Virtuális gépek interakciói

Az aktuális előfizetéshez elérhető összes virtuális gépet címtárban VirtualMachines találja.

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-szkript meghívása távoli virtuális gépeken

Feltételezve, hogy van egy MyVM1 virtuális gépe, a használatával hívunk meg Invoke-AzVMCommand egy PowerShell-szkriptblokkot a távoli gépen.

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

Először a VirtualMachines könyvtárba is navigálhat, és a következőképpen Invoke-AzVMCommand futtathatja a következőt.

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 távoli virtuális gépre

A használatával interaktívan jelentkezhet be egy Enter-AzVM Azure-ban futó virtuális gépre.

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

Először is navigáljon a VirtualMachines könyvtárhoz, és futtassa Enter-AzVM a következőképpen:

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

WebAlkalmazások felderítése

A könyvtárba WebApps beírással könnyedén navigálhat a webalkalmazás erőforrásai között

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

SSH

A kiszolgálókon vagy virtuális gépeken SSH használatával történő hitelesítéshez hozza létre a nyilvános-titkos kulcspárt a Cloud Shell- és tegye közzé a nyilvános kulcsot a távoli gépen, például a következőn: authorized_keys /home/user/.ssh/authorized_keys .

Megjegyzés

A használatával létrehozhat privát-nyilvános SSH-kulcsokat, és közzéteheti őket a ssh-keygen $env:USERPROFILE\.ssh Cloud Shell.

Az SSH használata

Kövesse az itt található utasításokat egy új virtuálisgép-konfiguráció létrehozásához Azure PowerShell parancsmagok használatával. Mielőtt a gombra hívná az-t az üzembe helyezéshez, adja hozzá a nyilvános SSH-kulcsot a New-AzVM virtuális gép konfigurációhoz. Az újonnan létrehozott virtuális gép a nyilvános kulcsot fogja tartalmazni a helyen, ami lehetővé teszi a hitelesítő adatok nélküli ~\.ssh\authorized_keys SSH-munkamenetet a virtuális géphez.

# 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

Az elérhető parancsok felsorolása

A Azure meghajtó alatt írja be a Get-AzCommand következőt: , hogy környezetspecifikus Azure-parancsokat kap.

Másik lehetőségként a használatával mindig Get-Command *az* -Module Az.* megkeresheti az elérhető Azure-parancsokat.

Egyéni modulok telepítése

A Install-Module futtatásával modulokat telepíthet a PowerShell-galéria.

Get-Help

Írja Get-Help be a parancsot a PowerShell-ről az Azure Cloud Shell.

Get-Help

Egy adott parancshoz továbbra is Get-Help követhet egy parancsmagot.

Get-Help Get-AzVM

Adatok Azure Files adatok tárolása a Azure Files használatával

Létrehozhat például egy szkriptet, és mentheti a fájlba, helloworld.ps1 clouddrive hogy a rendszerhéj-munkamenetek között használva azt használni tudja.

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 a Cloud Shell, a fájl abban a könyvtárban fog létezni, amely helloworld.ps1 $HOME\clouddrive csatlakoztatja a Azure Files megosztást.

Egyéni profil használata

A PowerShell-környezet testreszabásához hozzon létre PowerShell-profilokat – profile.ps1 (vagy Microsoft.PowerShell_profile.ps1 ). Mentse a (vagy) alá, hogy betölthető legyen a munkamenet minden $profile.CurrentUserAllHosts $profile.CurrentUserAllHosts PowerShell-Cloud Shell.

Profil létrehozásához tekintse meg a Profilokkal kapcsolatos információk a következőt:.

A Git használata

A Git-adattár Cloud Shell létre kell hoznia egy személyes hozzáférési jogkivonatot, és azt kell használnia felhasználónévként. Ha már megvan a jogkivonata, klónozza az adattárat a következőképpen:

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

Kilépés a rendszerhéjból

A munkamenet megszüntetéséhez írja be a exit következőt: .