Sdílet prostřednictvím


Set-AzVMOperatingSystem

Nastaví vlastnosti operačního systému při vytváření nového virtuálního počítače nebo při aktualizaci virtuálního počítače.

Syntaxe

Set-AzVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [[-ComputerName] <String>]
   [[-Credential] <PSCredential>]
   [[-CustomData] <String>]
   [-ProvisionVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-PatchMode <String>]
   [-EnableHotpatching]
   [-AssessmentMode <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [[-ComputerName] <String>]
   [[-Credential] <PSCredential>]
   [[-CustomData] <String>]
   [-ProvisionVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-WinRMHttps]
   [-WinRMCertificateUrl] <Uri>
   [-PatchMode <String>]
   [-EnableHotpatching]
   [-AssessmentMode <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [[-ComputerName] <String>]
   [[-Credential] <PSCredential>]
   [[-CustomData] <String>]
   [-DisableVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-PatchMode <String>]
   [-EnableHotpatching]
   [-AssessmentMode <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [[-ComputerName] <String>]
   [[-Credential] <PSCredential>]
   [[-CustomData] <String>]
   [-DisableVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-WinRMHttps]
   [-WinRMCertificateUrl] <Uri>
   [-PatchMode <String>]
   [-EnableHotpatching]
   [-AssessmentMode <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Linux]
   [[-ComputerName] <String>]
   [[-Credential] <PSCredential>]
   [[-CustomData] <String>]
   [-PatchMode <String>]
   [-DisablePasswordAuthentication]
   [-AssessmentMode <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Rutina Set-AzVMOperatingSystem nastavuje vlastnosti operačního systému během vytváření nového virtuálního počítače. Můžete zadat přihlašovací údaje, název počítače a typ operačního systému.

Příklady

Příklad 1: Nastavení vlastností operačního systému pro nový virtuální počítač

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword); 
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion"
$TimeZone = "Pacific Standard Time"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone -PatchMode "AutomaticByPlatform"

První příkaz převede heslo na zabezpečený řetězec a uloží ho do proměnné $SecurePassword. Další informace potřebujete zadáním Get-Help ConvertTo-SecureString. Druhý příkaz vytvoří přihlašovací údaje pro uživatele FullerP a heslo uložené v $SecurePassword a pak uloží přihlašovací údaje do proměnné $Credential. Další informace potřebujete zadáním Get-Help New-Object. Třetí příkaz získá skupinu dostupnosti s názvem AvailabilitySet03 ve skupině prostředků s názvem ResourceGroup11 a pak tento objekt uloží do proměnné $AvailabilitySet. Čtvrtý příkaz vytvoří objekt virtuálního počítače a pak ho uloží do proměnné $VirtualMachine. Příkaz přiřadí virtuálnímu počítači název a velikost. Virtuální počítač patří do skupiny dostupnosti uložené v $AvailabilitySet. Následující čtyři příkazy přiřazují hodnoty proměnným, které se mají použít v následujícím příkazu. Vzhledem k tomu, že tyto řetězce můžete zadat přímo v příkazu Set-AzVMOperatingSystem , tento přístup se používá pouze pro čitelnost. Můžete ale použít přístup, jako je tento ve skriptech. Poslední příkaz nastaví vlastnosti operačního systému pro virtuální počítač uložený v $VirtualMachine. Příkaz používá přihlašovací údaje uložené v $Credential. Příkaz pro některé parametry používá proměnné přiřazené v předchozích příkazech.

Příklad 2: Nastavení vlastností operačního systému pro nový virtuální počítač s povolenou opravou za provozu

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword); 
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion"
$TimeZone = "Pacific Standard Time"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone -PatchMode "AutomaticByPlatform" -EnableHotPatching

První příkaz převede heslo na zabezpečený řetězec a uloží ho do proměnné $SecurePassword. Další informace potřebujete zadáním Get-Help ConvertTo-SecureString. Druhý příkaz vytvoří přihlašovací údaje pro uživatele FullerP a heslo uložené v $SecurePassword a pak uloží přihlašovací údaje do proměnné $Credential. Další informace potřebujete zadáním Get-Help New-Object. Třetí příkaz získá skupinu dostupnosti s názvem AvailabilitySet03 ve skupině prostředků s názvem ResourceGroup11 a pak tento objekt uloží do proměnné $AvailabilitySet. Čtvrtý příkaz vytvoří objekt virtuálního počítače a pak ho uloží do proměnné $VirtualMachine. Příkaz přiřadí virtuálnímu počítači název a velikost. Virtuální počítač patří do skupiny dostupnosti uložené v $AvailabilitySet. Následující čtyři příkazy přiřazují hodnoty proměnným, které se mají použít v následujícím příkazu. Vzhledem k tomu, že tyto řetězce můžete zadat přímo v příkazu Set-AzVMOperatingSystem , tento přístup se používá pouze pro čitelnost. Můžete ale použít přístup, jako je tento ve skriptech. Poslední příkaz nastaví vlastnosti operačního systému pro virtuální počítač uložený v $VirtualMachine. Příkaz používá přihlašovací údaje uložené v $Credential. Příkaz pro některé parametry používá proměnné přiřazené v předchozích příkazech. Příkaz povolí na virtuálním počítači funkci Hotpatch.

Příklad 3: Nastavení vlastností operačního systému pro nový virtuální počítač s Linuxem

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword); 
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -PatchMode "AutomaticByPlatform"

První příkaz převede heslo na zabezpečený řetězec a uloží ho do proměnné $SecurePassword. Další informace potřebujete zadáním Get-Help ConvertTo-SecureString. Druhý příkaz vytvoří přihlašovací údaje pro uživatele FullerP a heslo uložené v $SecurePassword a pak uloží přihlašovací údaje do proměnné $Credential. Další informace potřebujete zadáním Get-Help New-Object. Třetí příkaz získá skupinu dostupnosti s názvem AvailabilitySet03 ve skupině prostředků s názvem ResourceGroup11 a pak tento objekt uloží do proměnné $AvailabilitySet. Čtvrtý příkaz vytvoří objekt virtuálního počítače a pak ho uloží do proměnné $VirtualMachine. Příkaz přiřadí virtuálnímu počítači název a velikost. Virtuální počítač patří do skupiny dostupnosti uložené v $AvailabilitySet. Následující dva příkazy přiřazují hodnoty proměnným, které se použijí v následujícím příkazu. Poslední příkaz nastaví vlastnosti operačního systému pro virtuální počítač uložený v $VirtualMachine. Příkaz používá přihlašovací údaje uložené v $Credential. Příkaz pro některé parametry používá proměnné přiřazené v předchozích příkazech. Příkaz nastaví hodnotu režimu oprav na virtuálním počítači na Hodnotu AutomaticByPlatform.

Příklad 4: Nastavte vlastnosti operačního systému s parametrem Credential, pokud virtuální počítač nemá OSProfile.

$rgname = <Resource Group Name>;
$loc = <Azure Region>;
New-AzResourceGroup -Name $rgname -Location $loc -Force;
# create credential
$password = <Password>;
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

# Setup parameters
$domainNameLabel = "d2" + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname = 'v' + $rgname;
$vnetname = "vn" + $rgname;
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$OSDiskName = $vmname + "d";
$NICName = $vmname+ "n";
$NSGName = $vmname + "nsg";

# Creating a VM using Default parameterset
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;

$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;

$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgname -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $rgname -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;

$vmConfig = New-AzVMConfig -VMName $vmname -VMSize $vmsize;
$vmConfig = Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmname -Credential $cred;
$vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;

# Verify a VM is created. 
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;

Parametry

-AssessmentMode

Hodnota režimu automatického posouzení pro virtuální počítač. Možné hodnoty jsou ImageDefault a AutomaticByPlatform.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ComputerName

Určuje název počítače.

Typ:String
Position:2
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Credential

Určuje uživatelské jméno a heslo virtuálního počítače jako objekt PSCredential . K získání přihlašovacích údajů použijte rutinu Get-Credential. Další informace potřebujete zadáním Get-Help Get-Credential.

Typ:PSCredential
Position:3
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-CustomData

Určuje řetězec, který se má předat virtuálnímu počítači. Další informace najdete v tématu Vlastní data na virtuálních počítačích Azure. Poznámka: Nedoporučuje se ukládat citlivé informace do vlastních dat.

Typ:String
Position:4
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure.

Typ:IAzureContextContainer
Aliasy:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DisablePasswordAuthentication

Označuje, že tato rutina zakáže ověřování heslem.

Typ:SwitchParameter
Position:5
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-DisableVMAgent

Zakažte zřizovacího agenta virtuálního počítače.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-EnableAutoUpdate

Označuje, že tato rutina umožňuje automatickou aktualizaci.

Typ:SwitchParameter
Position:6
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-EnableHotpatching

Umožňuje zákazníkům opravovat virtuální počítače Azure bez nutnosti restartování. Pro enableHotpatching musí být provisionVMAgent nastaven na true a patchMode musí být nastaven na AutomaticByPlatform.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Linux

Označuje, že typ operačního systému je Linux.

Typ:SwitchParameter
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PatchMode

Určuje režim oprav hosta na virtuální počítač IaaS.

Možné hodnoty jsou:
AutomaticByPlatform – Instalace opravy pro virtuální počítač bude spravována Azure. Používá se se systémem -Windows nebo -Linux. Vyžaduje -ProvisionVMAgent. Vyžaduje -EnableAutoUpdate při použití s -Windows.
AutomaticByOS – Instalace oprav pro virtuální počítač bude spravována operačním systémem. Používá se se systémem -Windows. Vyžaduje -ProvisionVMAgent a -EnableAutoUpdate.
Ruční – řídíte použití oprav na virtuální počítač. Používá se se systémem -Windows. Vyžaduje -ProvisionVMAgent.
ImageDefault – Instalace opravy spravovaná výchozím nastavením image operačního systému Používá se s -Linuxem.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ProvisionVMAgent

Označuje, že nastavení vyžaduje instalaci agenta virtuálního počítače na virtuálním počítači.

Typ:SwitchParameter
Position:5
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-TimeZone

Určuje časové pásmo virtuálního počítače. např. "Pacific Standard Time".
Možné hodnoty mohou být TimeZoneInfo.Id hodnotu z časových pásem vrácených TimeZoneInfo.GetSystemTimeZones.

Typ:String
Position:7
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-VM

Určuje objekt místního virtuálního počítače, na kterém se mají nastavit vlastnosti operačního systému. K získání objektu virtuálního počítače použijte rutinu Get-AzVM. Vytvořte objekt virtuálního počítače pomocí rutiny New-AzVMConfig.

Typ:PSVirtualMachine
Aliasy:VMProfile
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Windows

Označuje, že typ operačního systému je Windows.

Typ:SwitchParameter
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WinRMCertificateUrl

Určuje identifikátor URI certifikátu WinRM. To musí být uložené ve službě Key Vault.

Typ:Uri
Position:10
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WinRMHttp

Označuje, že tento operační systém používá HTTP WinRM.

Typ:SwitchParameter
Position:8
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WinRMHttps

Označuje, že tento operační systém používá protokol HTTPS WinRM.

Typ:SwitchParameter
Position:9
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

Vstupy

PSVirtualMachine

SwitchParameter

String

PSCredential

Uri

Výstupy

PSVirtualMachine