Set-AzVMOperatingSystem
Anger operativsystemegenskaper när en ny virtuell dator skapas eller en virtuell dator uppdateras.
Syntax
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
Cmdleten Set-AzVMOperatingSystem anger operativsystemegenskaper när en ny virtuell dator skapas. Du kan ange inloggningsuppgifter, datornamn och operativsystemtyp.
Exempel
Exempel 1: Ange operativsystemegenskaper för en ny virtuell dator
$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"
Det första kommandot konverterar ett lösenord till en säker sträng och lagrar det sedan i variabeln $SecurePassword.
Om du vill ha mer information skriver du Get-Help ConvertTo-SecureString
.
Det andra kommandot skapar en autentiseringsuppgift för användaren FullerP och lösenordet som lagras i $SecurePassword och lagrar sedan autentiseringsuppgifterna i variabeln $Credential.
Om du vill ha mer information skriver du Get-Help New-Object
.
Det tredje kommandot hämtar tillgänglighetsuppsättningen med namnet AvailabilitySet03 i resursgruppen med namnet ResourceGroup11 och lagrar sedan objektet i variabeln $AvailabilitySet.
Det fjärde kommandot skapar ett virtuellt datorobjekt och lagrar det sedan i variabeln $VirtualMachine.
Kommandot tilldelar ett namn och en storlek till den virtuella datorn.
Den virtuella datorn tillhör tillgänglighetsuppsättningen som lagras i $AvailabilitySet.
De följande fyra kommandona tilldelar värden till variabler som ska användas i följande kommando.
Eftersom du kan ange dessa strängar direkt i kommandot Set-AzVMOperatingSystem används den här metoden endast för läsbarhet.
Du kan dock använda en metod som den här i skript.
Det sista kommandot anger operativsystemegenskaper för den virtuella datorn som lagras i $VirtualMachine.
Kommandot använder autentiseringsuppgifterna som lagras i $Credential.
Kommandot använder variabler som tilldelats i tidigare kommandon för vissa parametrar.
Exempel 2: Ange operativsystemegenskaper för en ny virtuell dator med snabbkorrigering aktiverat
$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
Det första kommandot konverterar ett lösenord till en säker sträng och lagrar det sedan i variabeln $SecurePassword.
Om du vill ha mer information skriver du Get-Help ConvertTo-SecureString
.
Det andra kommandot skapar en autentiseringsuppgift för användaren FullerP och lösenordet som lagras i $SecurePassword och lagrar sedan autentiseringsuppgifterna i variabeln $Credential.
Om du vill ha mer information skriver du Get-Help New-Object
.
Det tredje kommandot hämtar tillgänglighetsuppsättningen med namnet AvailabilitySet03 i resursgruppen med namnet ResourceGroup11 och lagrar sedan objektet i variabeln $AvailabilitySet.
Det fjärde kommandot skapar ett virtuellt datorobjekt och lagrar det sedan i variabeln $VirtualMachine.
Kommandot tilldelar ett namn och en storlek till den virtuella datorn.
Den virtuella datorn tillhör tillgänglighetsuppsättningen som lagras i $AvailabilitySet.
De följande fyra kommandona tilldelar värden till variabler som ska användas i följande kommando.
Eftersom du kan ange dessa strängar direkt i kommandot Set-AzVMOperatingSystem används den här metoden endast för läsbarhet.
Du kan dock använda en metod som den här i skript.
Det sista kommandot anger operativsystemegenskaper för den virtuella datorn som lagras i $VirtualMachine.
Kommandot använder autentiseringsuppgifterna som lagras i $Credential.
Kommandot använder variabler som tilldelats i tidigare kommandon för vissa parametrar.
Kommandot aktiverar Hotpatching på den virtuella datorn.
Exempel 3: Ange operativsystemegenskaper för en ny virtuell Linux-dator
$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"
Det första kommandot konverterar ett lösenord till en säker sträng och lagrar det sedan i variabeln $SecurePassword.
Om du vill ha mer information skriver du Get-Help ConvertTo-SecureString
.
Det andra kommandot skapar en autentiseringsuppgift för användaren FullerP och lösenordet som lagras i $SecurePassword och lagrar sedan autentiseringsuppgifterna i variabeln $Credential.
Om du vill ha mer information skriver du Get-Help New-Object
.
Det tredje kommandot hämtar tillgänglighetsuppsättningen med namnet AvailabilitySet03 i resursgruppen med namnet ResourceGroup11 och lagrar sedan objektet i variabeln $AvailabilitySet.
Det fjärde kommandot skapar ett virtuellt datorobjekt och lagrar det sedan i variabeln $VirtualMachine.
Kommandot tilldelar ett namn och en storlek till den virtuella datorn.
Den virtuella datorn tillhör tillgänglighetsuppsättningen som lagras i $AvailabilitySet.
De följande två kommandona tilldelar värden till variabler som ska användas i följande kommando.
Det sista kommandot anger operativsystemegenskaper för den virtuella datorn som lagras i $VirtualMachine.
Kommandot använder autentiseringsuppgifterna som lagras i $Credential.
Kommandot använder variabler som tilldelats i tidigare kommandon för vissa parametrar.
Kommandot anger värdet för korrigeringsläge på den virtuella datorn till "AutomaticByPlatform".
Exempel 4: Ange operativsystemegenskaper med en parameter för autentiseringsuppgifter när den virtuella datorn inte har någon 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;
Parametrar
-AssessmentMode
Värdet för automatiskt utvärderingsläge för den virtuella datorn. Möjliga värden är ImageDefault och AutomaticByPlatform.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ComputerName
Anger namnet på datorn.
Typ: | String |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Credential
Anger användarnamnet och lösenordet för den virtuella datorn som ett PSCredential-objekt .
Om du vill hämta en autentiseringsuppgift använder du cmdleten Get-Credential.
Om du vill ha mer information skriver du Get-Help Get-Credential
.
Typ: | PSCredential |
Position: | 3 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-CustomData
Anger en sträng som ska skickas till den virtuella datorn. Mer information finns i Anpassade data på virtuella Azure-datorer. Obs! Vi rekommenderar inte att du lagrar känslig information i anpassade data.
Typ: | String |
Position: | 4 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-DefaultProfile
Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.
Typ: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisablePasswordAuthentication
Anger att den här cmdleten inaktiverar lösenordsautentisering.
Typ: | SwitchParameter |
Position: | 5 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-DisableVMAgent
Inaktivera Etablera VM-agent.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-EnableAutoUpdate
Anger att den här cmdleten aktiverar automatisk uppdatering.
Typ: | SwitchParameter |
Position: | 6 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-EnableHotpatching
Gör det möjligt för kunder att korrigera sina virtuella Azure-datorer utan att behöva starta om. För enableHotpatching måste "provisionVMAgent" anges till true och "patchMode" måste anges till "AutomaticByPlatform".
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Linux
Anger att typen av operativsystem är Linux.
Typ: | SwitchParameter |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-PatchMode
Anger läget för gästkorrigering till den virtuella IaaS-datorn.
Möjliga värden är:
AutomaticByPlatform – Korrigeringsinstallationen för den virtuella datorn hanteras av Azure. Använd med -Windows eller -Linux. Kräver -ProvisionVMAgent. Kräver -EnableAutoUpdate när det används med -Windows.
AutomaticByOS – Korrigeringsinstallationen för den virtuella datorn hanteras av operativsystemet. Använd med -Windows. Kräver -ProvisionVMAgent och -EnableAutoUpdate.
Manuell – Du styr tillämpningen av korrigeringar på en virtuell dator. Använd med -Windows. Kräver -ProvisionVMAgent.
ImageDefault – Korrigeringsinstallation som hanteras av standardinställningarna på OS-avbildningen. Använd med -Linux.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ProvisionVMAgent
Anger att inställningarna kräver att agenten för den virtuella datorn installeras på den virtuella datorn.
Typ: | SwitchParameter |
Position: | 5 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-TimeZone
Anger tidszonen för den virtuella datorn. t.ex. "Pacific Standard Time".
Möjliga värden kan vara TimeZoneInfo.Id värde från tidszoner som returneras av TimeZoneInfo.GetSystemTimeZones.
Typ: | String |
Position: | 7 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-VM
Anger det lokala virtuella datorobjekt som operativsystemegenskaperna ska anges på. Om du vill hämta ett virtuellt datorobjekt använder du cmdleten Get-AzVM. Skapa ett virtuellt datorobjekt med hjälp av cmdleten New-AzVMConfig.
Typ: | PSVirtualMachine |
Alias: | VMProfile |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Windows
Anger att typen av operativsystem är Windows.
Typ: | SwitchParameter |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WinRMCertificateUrl
Anger URI för ett WinRM-certifikat. Detta måste lagras i ett Key Vault.
Typ: | Uri |
Position: | 10 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WinRMHttp
Anger att det här operativsystemet använder HTTP WinRM.
Typ: | SwitchParameter |
Position: | 8 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WinRMHttps
Anger att det här operativsystemet använder HTTPS WinRM.
Typ: | SwitchParameter |
Position: | 9 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
Indata
Utdata
Relaterade länkar
Azure PowerShell