Polecenie cmdlet New-AzVM tworzy maszynę wirtualną na platformie Azure.
To polecenie cmdlet przyjmuje obiekt maszyny wirtualnej jako dane wejściowe. Polecenie cmdlet New-AzVM utworzy nowe konto magazynu na potrzeby diagnostyki rozruchu, jeśli jeszcze nie istnieje.
Użyj polecenia cmdlet New-AzVMConfig , aby utworzyć obiekt maszyny wirtualnej.
Następnie użyj następujących poleceń cmdlet, aby ustawić różne właściwości obiektu maszyny wirtualnej:
VERBOSE: Use 'mstsc /v:myvm-222222.eastus.cloudapp.azure.com' to connect to the VM.
ResourceGroupName : MyVm
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVm/provi
ders/Microsoft.Compute/virtualMachines/MyVm
VmId : 11111111-1111-1111-1111-111111111111
Name : MyVm
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : myvm-222222.eastus.cloudapp.azure.com
Ten przykładowy skrypt pokazuje, jak utworzyć maszynę wirtualną.
Skrypt wyświetli monit o podanie nazwy użytkownika i hasła dla maszyny wirtualnej.
Ten skrypt używa kilku innych poleceń cmdlet.
Przykład 2. Tworzenie maszyny wirtualnej na podstawie niestandardowego obrazu użytkownika
## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
## Azure Account
$LocationName = "westus"
$ResourceGroupName = "MyResourceGroup"
# This a Premium_LRS storage account.
# It is required in order to run a client VM with efficiency and high performance.
$StorageAccount = "Mydisk"
## VM
$OSDiskName = "MyClient"
$ComputerName = "MyClientVM"
$OSDiskUri = "https://Mydisk.blob.core.windows.net/disks/MyOSDisk.vhd"
$SourceImageUri = "https://Mydisk.blob.core.windows.net/vhds/MyOSImage.vhd"
$VMName = "MyVM"
# Modern hardware environment with fast disk, high IOPs performance.
# Required to run a client VM with efficiency and performance
$VMSize = "Standard_DS3"
$OSDiskCaching = "ReadWrite"
$OSCreateOption = "FromImage"
## Networking
$DNSNameLabel = "mydnsname" # mydnsname.westus.cloudapp.azure.com
$NetworkName = "MyNet"
$NICName = "MyNIC"
$PublicIPAddressName = "MyPIP"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"
$SingleSubnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$securityTypeStnd = "Standard"
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize -SecurityType $securityTypeStnd
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose -Zone @("1")
W tym przykładzie jest pobierany istniejący obraz systemu z uogólnioną niestandardową wersją systemu operacyjnego i dołącza do niego dysk danych, aprowizuje nową sieć, wdraża dysk VHD i uruchamia go.
Ten skrypt może służyć do automatycznej aprowizacji, ponieważ używa wbudowanych poświadczeń administratora lokalnej maszyny wirtualnej zamiast wywoływania polecenia Get-Credential , co wymaga interakcji użytkownika.
Ten skrypt zakłada, że użytkownik jest już zalogowany na koncie platformy Azure.
Stan logowania można potwierdzić przy użyciu polecenia cmdlet Get-AzSubscription .
Przykład 3. Tworzenie maszyny wirtualnej na podstawie obrazu z witryny Marketplace bez publicznego adresu IP
W tym przykładzie maszyna wirtualna z systemem Windows jest wdrażana z witryny Marketplace w jednej grupie zasobów z istniejącą podsiecią w innej grupie zasobów.
Przykład 6. Tworzenie nowej maszyny wirtualnej w ramach zestawu skalowania maszyn wirtualnych z wartością PlatformFaultDomain.
W tym przykładzie utworzono nową maszynę wirtualną z typem zabezpieczeń TrustedLaunch i ustawiono flagi EnableSecureBoot i EnableVtpm jako true. Zaufana maszyna wirtualna uruchamiania wymaga obrazu gen2. Aby uzyskać więcej informacji, zapoznaj się ze stroną funkcji Zaufane uruchamianie .
Przykład 9: Tworzenie maszyny wirtualnej z włączonym zaufanym uruchamianiem przy użyciu polecenia New-AzVMConfig.
W tym przykładzie pokazano, jak utworzyć maszynę wirtualną z prawidłowym obrazem gen2, umożliwiając maszynie wirtualnej domyślne ustawienie TrustedLaunch, które wymaga obrazów gen2. Aby uzyskać więcej informacji, zapoznaj się ze stroną funkcji Zaufane uruchamianie .
Przykład 10: Domyślnie tworzy maszynę wirtualną z włączoną funkcją TrustedLaunch.
W tym przykładzie pokazano, jak proste wywołanie polecenia cmdlet z minimalnymi parametrami spowoduje, że maszyna wirtualna z włączoną usługą TrustedLaunch z obrazem gen2. Aby uzyskać więcej informacji, zapoznaj się ze stroną funkcji Zaufane uruchamianie .
=======
Parametry
-AddProxyAgentExtension
Określa, czy niejawnie zainstalować rozszerzenie ProxyAgent. Ta opcja ma obecnie zastosowanie tylko dla systemu operacyjnego Linux.
Określa, czy dyski regionalne powinny być wyrównane/przeniesione do strefy maszyny wirtualnej. Dotyczy to tylko maszyn wirtualnych z zestawem właściwości umieszczania. Należy pamiętać, że ta zmiana jest nieodwracalna.
Nazwa użytkownika Restrykcja:
Windows: Nie można zawierać znaków specjalnych /"[]:|<>+=;,?*@& lub end in "."
Linux: nazwa użytkownika musi zawierać tylko litery, cyfry, łączniki i podkreślenia i może nie zaczynać się od łącznika lub liczby. niedozwolone wartości: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimalna długość: 1 znak Maksymalna długość: 20 znaków dla systemu Windows, 64 znaki dla systemu Linux
Hasło
Musi mieć 3 z następujących znaków: 1 małe litery, 1 wielkie litery, 1 numer i 1 znak specjalny.
Wartość musi mieć długość od 12 do 123 znaków.
Określa typ kontrolera dysku skonfigurowany dla maszyny wirtualnej i virtualMachineScaleSet. Ta właściwość jest obsługiwana tylko w przypadku maszyn wirtualnych, których dysk systemu operacyjnego i jednostka SKU maszyny wirtualnej obsługuje generację 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), sprawdź funkcję HyperVGenerations zwróconą jako część możliwości jednostki SKU maszyny wirtualnej w odpowiedzi interfejsu API jednostek SKU Microsoft.Compute dla regionu zawierającego 2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list) . Aby uzyskać więcej informacji na temat obsługiwanych typów kontrolera dysków, zobacz https://aka.ms/azure-diskcontrollertypes.
Ścieżka lokalna do pliku wirtualnego dysku twardego, który ma zostać przekazany do chmury i do utworzenia maszyny wirtualnej, i musi mieć sufiks ".vhd".
Etykieta poddomeny dla w pełni kwalifikowanej nazwy domeny (FQDN) maszyny wirtualnej. Będzie to mieć postać {domainNameLabel}.{location}.cloudapp.azure.com.
Właściwość EncryptionAtHost może być używana przez użytkownika w żądaniu w celu włączenia lub wyłączenia szyfrowania hosta dla maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych.
Spowoduje to włączenie szyfrowania dla wszystkich dysków, w tym dysku zasobu/tymczasowego na samym hoście.
Ustawienie domyślne: Szyfrowanie na hoście zostanie wyłączone, chyba że ta właściwość ma wartość true dla zasobu.
Ta właściwość uzupełnia właściwość "zonePlacementPolicy". Jeśli właściwość "zonePlacementPolicy" jest ustawiona na wartość "Any", strefa dostępności wybrana przez system nie może być obecna na liście stref dostępności przekazanych z wartością "excludeZones". Jeśli opcja "excludeZones" nie zostanie podana, wszystkie strefy dostępności w regionie będą brane pod uwagę do wyboru.
służy do wykonywania żądania warunkowego dla metody PUT i innych metod niebezpiecznych. Serwer zwróci żądane zasoby tylko wtedy, gdy zasób jest zgodny z jedną z wymienionych wartości elementu ETag. Pomiń tę wartość, aby zawsze zastąpić bieżący zasób. Określ ostatnio widzianą wartość elementu ETag, aby zapobiec przypadkowemu zastępowaniu współbieżnych zmian.
Służy do warunkowego żądania dla metod GET i HEAD. Serwer zwróci żądane zasoby tylko wtedy, gdy żadna z wymienionych wartości elementu ETag nie jest zgodna z bieżącą jednostką. Służy do warunkowego żądania dla metod GET i HEAD. Serwer zwróci żądane zasoby tylko wtedy, gdy żadna z wymienionych wartości elementu ETag nie jest zgodna z bieżącą jednostką. Ustaw wartość "*", aby zezwolić na utworzenie nowego zestawu rekordów, ale aby zapobiec aktualizowaniu istniejącego zestawu rekordów. Inne wartości spowodują błąd z serwera, ponieważ nie są one obsługiwane.
Przyjazna nazwa obrazu, na którym zostanie utworzona maszyna wirtualna. Dostępne aliasy to: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Określono unikatowy identyfikator obrazu galerii udostępnionej dla wdrożenia maszyny wirtualnej. Można to pobrać z udostępnionego wywołania GET obrazu galerii.
Ta właściwość uzupełnia właściwość "zonePlacementPolicy". Jeśli właściwość "zonePlacementPolicy" jest ustawiona na "Dowolna", strefa dostępności wybrana przez system musi znajdować się na liście stref dostępności przekazanych z "includeZones". Jeśli opcja "includeZones" nie zostanie podana, wszystkie strefy dostępności w regionie będą brane pod uwagę do wyboru.
Wskazuje, czy plik dysku jest przeznaczony dla maszyny wirtualnej z systemem Linux, jeśli określono; lub Windows, jeśli nie zostanie określony domyślnie.
Lista portów do otwarcia w sieciowej grupie zabezpieczeń dla utworzonej maszyny wirtualnej. Wartość domyślna zależy od wybranego typu obrazu (tj. Windows: 3389, 5985 i Linux: 22).
Priorytet maszyny wirtualnej. Obsługiwane wartości to "Regular", "Spot" i "Low".
"Regular" jest przeznaczony dla zwykłej maszyny wirtualnej.
"Spot" jest przeznaczony dla maszyny wirtualnej typu spot.
Wartość "Niska" dotyczy również maszyny wirtualnej typu spot, ale jest zastępowana przez "Spot". Użyj polecenia "Spot" zamiast "Niski".
Nazwa nowego (lub istniejącego) publicznego adresu IP utworzonej maszyny wirtualnej do użycia. Jeśli nie zostanie określona, zostanie wygenerowana nazwa.
Nazwa nowej (lub istniejącej) sieciowej grupy zabezpieczeń dla utworzonej maszyny wirtualnej do użycia. Jeśli nie zostanie określona, zostanie wygenerowana nazwa.
Określa typ zabezpieczeń maszyny wirtualnej. Musi być ustawiona na dowolną określoną wartość, aby włączyć interfejs UefiSettings. Domyślnie ustawienie UefiSettings nie zostanie włączone, chyba że ta właściwość jest ustawiona.
Określono unikatowy identyfikator obrazu galerii udostępnionej dla wdrożenia maszyny wirtualnej. Można to pobrać z udostępnionego wywołania GET obrazu galerii.
Rozmiar maszyny wirtualnej.
Polecenie Get-AzComputeResourceSku może służyć do znajdowania dostępnych rozmiarów subskrypcji i regionu.
Wartość domyślna to: Standard_D2s_v3.
Określa, że zasoby i grupy zasobów można oznaczyć zestawem par nazwa-wartość.
Dodawanie tagów do zasobów umożliwia grupowanie zasobów w grupach zasobów i tworzenie własnych widoków.
Każdy zasób lub grupa zasobów może mieć maksymalnie 15 tagów.
Określa liczbę procesorów wirtualnych dostępnych dla maszyny wirtualnej. Jeśli ta właściwość nie zostanie określona w treści żądania, domyślne zachowanie polega na ustawieniu jej na wartość procesorów wirtualnych dostępnych dla tego rozmiaru maszyny wirtualnej uwidocznionej w odpowiedzi interfejsu API Wyświetl wszystkie dostępne rozmiary maszyn wirtualnych w regionie.
Określa stosunek procesorów wirtualnych do fizycznego rdzenia. Jeśli ta właściwość nie zostanie określona w treści żądania, domyślne zachowanie jest ustawione na wartość vCPUsPerCore dla rozmiaru maszyny wirtualnej uwidocznionej w odpowiedzi interfejsu API Wyświetl wszystkie dostępne rozmiary maszyn wirtualnych w regionie. Ustawienie tej właściwości na 1 oznacza również, że funkcja hyper-threading jest wyłączona.
Określa lokalną maszynę wirtualną do utworzenia.
Aby uzyskać obiekt maszyny wirtualnej, użyj polecenia cmdlet New-AzVMConfig.
Inne polecenia cmdlet mogą służyć do konfigurowania maszyny wirtualnej, takich jak Set-AzVMOperatingSystem, Set-AzVMSourceImage i Add-AzVMNetworkInterface.
Określa strefę maszyny wirtualnej. Mimo że odbywa się to w tablicy stref, maszyny wirtualne nie obsługują wielu stref dostępności.
Dozwolona wartość zależy od możliwości regionu. Dozwolona wartość będzie zwykle wynosić 1, 2 lub 3. Więcej informacji na temat stref dostępności platformy Azure.
Określa zasady umieszczania maszyny wirtualnej w strefie dostępności. Możliwe wartości to: Dowolna — strefa dostępności zostanie automatycznie wybrana przez system w ramach tworzenia maszyny wirtualnej.
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Źródło tej treści można znaleźć na GitHubie, gdzie można także tworzyć i przeglądać problemy oraz pull requesty. Więcej informacji znajdziesz w naszym przewodniku dla współautorów.