Tworzenie maszyn wirtualnych za pomocą programu Azure PowerShell
W tym samouczku poznasz wszystkie kroki związane z konfigurowaniem maszyny wirtualnej za pomocą programu Azure PowerShell. Samouczek obejmuje również zapytania wyjściowe, ponowne użycie zasobów platformy Azure i oczyszczanie zasobów.
Ten samouczek można ukończyć za pomocą środowiska interaktywnego oferowanego za pośrednictwem usługi Azure Cloud Shell lub zainstalować program Azure PowerShell lokalnie.
Użyj ctrl-shift-v (cmd-shift-v w systemie macOS), aby wkleić tekst samouczka do usługi Azure Cloud Shell.
Rejestrowanie
Jeśli używasz lokalnej instalacji programu Azure PowerShell, musisz zalogować się przed wykonaniem innych kroków.
Connect-AzAccount
Wykonaj 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 grupowania zasobów, które ułatwiają pracę z nimi jako kolekcją.
Na potrzeby tego samouczka wszystkie utworzone zasoby przechodzą 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 należy 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ń jest przekazywany 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ą dużą liczbę zależności. Program Azure PowerShell tworzy te zasoby na podstawie podanych argumentów wiersza polecenia. W celu zapewnienia czytelności używamy programu PowerShell do przekazywania 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
Po utworzeniu maszyny wirtualnej zobaczysz 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 wymienione wewnątrz nawiasów klamrowych są obiektami zagnieżdżonych. W następnym kroku pokażemy, jak wyświetlić określone wartości w tych zagnieżdżonych obiektach.
Uzyskiwanie informacji o maszynie wirtualnej za pomocą zapytań
Uzyskajmy bardziej szczegółowe informacje z właśnie utworzonej maszyny wirtualnej. W tym przykładzie zweryfikujemy nazwę maszyny wirtualnej i utworzone przez nas konto administratora.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Aby uzyskać szczegółowe informacje o konfiguracji sieci, możemy użyć innych poleceń programu Azure PowerShell.
$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 polecenia cmdlet Get-AzNetworkInterface
. Z wynikowego obiektu interfejsu sieciowego wybieramy zagnieżdżony obiekt IpConfigurations. W obiekcie IpConfigurations wybieramy właściwości Name i PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Aby potwierdzić, że maszyna wirtualna jest uruchomiona, musimy nawiązać połączenie za pośrednictwem pulpitu zdalnego. W tym celu musimy znać 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żywamy Get-AzPublicIpAddress
i zapisujemy wyniki w zmiennej $publicIp
. Z tej zmiennej wybieramy właściwości i używamy wyrażenia do pobrania zagnieżdżonej właściwości Fqdn.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Na komputerze lokalnym 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 FullyQualifiedDomainName obiektu $newVM2
. Użyj następującego polecenia, aby nawiązać połączenie przy użyciu pulpitu zdalnego.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Oczyszczania
Teraz, gdy samouczek został ukończony, nadszedł czas na wyczyszczenie utworzonych zasobów. Poszczególne zasoby można usunąć za pomocą polecenia Remove-AzResource
, ale najbezpieczniejszym sposobem usunięcia wszystkich zasobów w grupie zasobów jest usunięcie grupy przy użyciu 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 samouczka i gwarantuje cofnięcie przydziału ich w odpowiedniej kolejności. Parametr AsJob
uniemożliwia programowi PowerShell blokowanie podczas usuwania. Aby poczekać na zakończenie usuwania, użyj następującego polecenia:
Wait-Job -Id $job.Id
Po zakończeniu oczyszczania samouczek zostanie ukończony. Kontynuuj, aby uzyskać podsumowanie wszystkich poznanych informacji i linki do zasobów, które pomogą Ci w następnych krokach.
Streszczenie
Gratulacje! Przedstawiono sposób tworzenia maszyn wirtualnych z nowymi lub istniejącymi zasobami, używanymi wyrażeniami i innymi poleceniami programu Azure PowerShell do przechwytywania danych przechowywanych w zmiennych powłoki i przyjrzeniu się niektórym zasobom utworzonym dla maszyn wirtualnych platformy Azure.
Od tego miejsca zależy od tego, jak planujesz korzystać z programu Azure PowerShell. Istnieje wiele materiałów, które szczegółowo omawiają funkcje opisane w tym samouczku.
Szczegółowa dokumentacja programu Azure PowerShell
Warto pośminąć trochę czasu na zapoznanie się z pełną dokumentacją programu Azure PowerShell zestawu.
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
Istnieją również artykuły zawierające bardziej szczegółowe informacje na temat funkcji przedstawionych w samouczku.
- przeplatania programu PowerShell
- Zapytania
- formatowanie
- korzystanie z zadań programu PowerShell
Przykładowe skrypty
Jeśli chcesz od razu rozpocząć pracę z określonymi zadaniami, zapoznaj się z przykładowymi skryptami.
- azure App Service
- SQL Databases
- Cosmos DB
- repozytorium przykładów
Sprzężenie zwrotne
Jeśli chcesz przekazać opinię, sugestie lub zadać pytania, możesz skontaktować się z tobą na kilka sposobów.
-
Send-Feedback
to wbudowane polecenie dla programu Azure PowerShell, które umożliwia przekazywanie do zespołu bezpłatnych opinii. - Zgłoś żądanie funkcji lub raport o usterce w repozytorium programu Azure PowerShell .
- Zadaj pytanie lub uzyskaj wyjaśnienia, zgłaszają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ę.