Tworzenie maszyn wirtualnych przy użyciu programu Azure PowerShell
W tym samouczku poznasz wszystkie kroki związane z konfigurowaniem maszyny wirtualnej za pomocą programu Azure PowerShell. Samouczek obejmuje również dane wyjściowe zapytań, ponowne używanie zasobów platformy Azure i czyszczenie zasobów.
Kroki tego samouczka można wykonać za pomocą środowiska interaktywnego oferowanego przez usługę Azure Cloud Shell. Ewentualnie możesz zainstalować program Azure PowerShell lokalnie.
Użyj klawiszy ctrl-shift-v (cmd-shift-v w systemie macOS), aby wkleić tekst samouczka do usługi Azure Cloud Shell.
Zaloguj
Jeśli korzystasz z lokalnej instalacji programu Azure PowerShell, musisz się zalogować przed wykonaniem pozostałych kroków.
Connect-AzAccount
Ukończ proces logowania, wykonując kroki wyświetlane w terminalu.
Tworzenie grupy zasobów
Na platformie Azure wszystkie zasoby są przydzielane w grupie zarządzania zasobami. Grupy zasobów zapewniają logiczne grupowanie zasobów, co ułatwia pracę z nimi jako kolekcją.
Na potrzeby tego samouczka wszystkie utworzone zasoby trafiają do jednej grupy o nazwie TutorialResources
.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Tworzenie poświadczeń administratora dla maszyny wirtualnej
Przed utworzeniem nowej maszyny wirtualnej musisz utworzyć obiekt poświadczeń zawierający nazwę użytkownika i hasło dla konta administratora maszyny wirtualnej z systemem Windows.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Wprowadź nazwę użytkownika i hasło po wyświetleniu monitu. Wynikowy obiekt poświadczeń zostanie przekazany jako parametr w następnym kroku.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Tworzenie maszyny wirtualnej
Maszyny wirtualne na platformie Azure mają wiele zależności. Program Azure PowerShell tworzy te zasoby na podstawie określonych argumentów wiersza polecenia. Aby zwiększyć czytelność, używamy operacji tworzenia pakietów parametrów programu PowerShell w celu przekazania parametrów do poleceń cmdlet programu Azure PowerShell.
Utwórz nową maszynę wirtualną z systemem Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
Podczas tworzenia maszyny wirtualnej widoczne są używane wartości parametrów i tworzone zasoby platformy Azure. Program PowerShell wyświetli pasek postępu, jak pokazano poniżej.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Gdy maszyna wirtualna będzie gotowa, możemy wyświetlić wyniki w witrynie Azure Portal lub sprawdzić zmienną $newVM1
.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Wartości właściwości podane w nawiasach klamrowych są obiektami zagnieżdżonymi. W następnym kroku pokażemy, jak wyświetlić konkretne wartości w tych obiektach zagnieżdżonych.
Uzyskiwanie informacji o maszynie wirtualnej za pomocą zapytań
Uzyskajmy trochę więcej szczegółowych informacji o maszynie wirtualnej, którą właśnie utworzyliśmy. W tym przykładzie weryfikujemy nazwę maszyny wirtualnej i utworzone konto administratora.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Możemy użyć innych poleceń programu Azure PowerShell, aby uzyskać konkretne informacje dotyczące konfiguracji sieci.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
W tym przykładzie używamy potoku programu PowerShell do wysyłania obiektu $newVM 1 do Get-AzNetworkInterface
polecenia cmdlet. Z wynikowego obiektu interfejsu sieciowego wybieramy zagnieżdżony obiekt IpConfigurations. Z obiektu IpConfigurations wybieramy właściwości Name i PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Aby upewnić się, że maszyna wirtualna jest uruchomiona, musimy nawiązać połączenie za pomocą Pulpitu zdalnego. W tym celu będzie potrzebny publiczny adres IP.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
W tym przykładzie użyjemy Get-AzPublicIpAddress
elementu i zapiszemy wyniki w zmiennej $publicIp
. Z tej zmiennej wybieramy właściwości i za pomocą wyrażenia pobieramy zagnieżdżoną właściwość Fqdn.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Z poziomu maszyny lokalnej możesz uruchomić następujące polecenie, aby nawiązać połączenie z maszyną wirtualną za pośrednictwem Pulpitu zdalnego.
mstsc.exe /v $publicIp.IpAddress
Aby uzyskać więcej informacji na temat wykonywania zapytań dotyczących właściwości obiektu, zobacz Wykonywanie zapytań dotyczących zasobów platformy Azure.
Tworzenie nowej maszyny wirtualnej w istniejącej podsieci
Druga maszyna wirtualna używa istniejącej podsieci.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Możesz pominąć kilka kroków, aby uzyskać publiczny adres IP nowej maszyny wirtualnej, ponieważ jest zwracany we właściwości $newVM2
FullyQualifiedDomainName obiektu. Korzystając z następującego polecenia, nawiąż połączenie przy użyciu Pulpitu zdalnego.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Czyszczenie
Teraz, po ukończeniu samouczka, nadszedł czas na wyczyszczenie utworzonych zasobów. Pojedyncze zasoby możesz usunąć za pomocą polecenia Remove-AzResource
, ale najbezpieczniejszym sposobem usunięcia wszystkich zasobów w grupie zasobów jest usunięcie grupy za pomocą polecenia Remove-AzResourceGroup
.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
To polecenie usuwa zasoby utworzone podczas tego samouczka i gwarantuje cofnięcie ich przydziału w odpowiedniej kolejności. Parametr AsJob
zapobiega blokowaniu programu PowerShell podczas usuwania. Aby poczekać na zakończenie usuwania, użyj następującego polecenia:
Wait-Job -Id $job.Id
Po zakończeniu czyszczenia samouczek jest ukończony. Kontynuuj, aby zobaczyć podsumowanie zdobytych umiejętności oraz linki do zasobów, które pomogą Ci przy następnych krokach.
Podsumowanie
Gratulacje! Po ukończeniu tego samouczka wiesz już, jak tworzyć maszyny wirtualne przy użyciu nowych lub istniejących zasobów oraz używać wyrażeń i innych poleceń programu Azure PowerShell do przechwytywania danych, które mają być przechowywane w zmiennych powłoki, a także znasz niektóre zasoby tworzone dla maszyn wirtualnych platformy Azure.
Co zrobisz dalej, zależy od tego, do czego zamierzasz używać programu Azure PowerShell. Istnieje wiele materiałów, które bardziej szczegółowo zgłębiają funkcje omówione w tym samouczku.
Szczegółowa dokumentacja programu Azure PowerShell
Warto poświęcić trochę czasu na zapoznanie się z pełnym zestawem dokumentacji programu Azure PowerShell.
Aby uzyskać więcej informacji na temat poleceń używanych w tym samouczku, zobacz następujące artykuły.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- Wait-Job
Dostępne są także artykuły, które bardziej szczegółowo omawiają funkcje pokazane w tym samouczku.
- Operacje tworzenia pakietów parametrów programu PowerShell
- Zapytania
- Formatowanie
- Używanie zadań programu PowerShell
Przykładowe skrypty
Jeśli chcesz od razu zacząć korzystać z określonych zadań, przejrzyj niektóre przykładowe skrypty.
Opinia
Jeśli chcesz przekazać opinię lub sugestie albo zadać pytania, istnieje wiele sposobów kontaktu.
Send-Feedback
to wbudowane polecenie programu Azure PowerShell, które umożliwia przekazanie dowolnej opinii zespołowi.- Prześlij wniosek dotyczący funkcji lub raport o usterce do repozytorium programu Azure PowerShell.
- Zadaj pytanie lub uzyskaj wyjaśnienie, rejestrując problem w repozytorium dokumentacji programu Azure PowerShell.
Mamy nadzieję, że korzystasz z programu Azure PowerShell!
Widzisz problem w tej sekcji? W takim przypadku prześlij opinię, abyśmy mogli udoskonalić tę sekcję.