Set-AzVMOperatingSystem
Legt die Eigenschaften des Betriebssystems während der Erstellung eines neuen virtuellen Computers fest oder aktualisiert einen virtuellen Computer.
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>]
Beschreibung
Das Cmdlet Set-AzVMOperatingSystem legt die Betriebssystemeigenschaften während der Erstellung eines neuen virtuellen Computers fest. Sie können Anmeldeinformationen, Computername und Betriebssystemtyp angeben.
Beispiele
Beispiel 1: Festlegen von Betriebssystemeigenschaften für einen neuen virtuellen Computer
$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"
Der erste Befehl konvertiert ein Kennwort in eine sichere Zeichenfolge und speichert es dann in der variablen $SecurePassword.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help ConvertTo-SecureString
.
Der zweite Befehl erstellt eine Anmeldeinformation für den Benutzer FullerP und das kennwort, das in $SecurePassword gespeichert ist, und speichert dann die Anmeldeinformationen in der variablen $Credential.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help New-Object
.
Der dritte Befehl ruft den Verfügbarkeitssatz "AvailabilitySet03" in der Ressourcengruppe "ResourceGroup11" ab und speichert dieses Objekt dann in der $AvailabilitySet Variablen.
Der vierte Befehl erstellt ein Objekt eines virtuellen Computers und speichert es dann in der $VirtualMachine Variablen.
Der Befehl weist dem virtuellen Computer einen Namen und eine Größe zu.
Der virtuelle Computer gehört zu dem in $AvailabilitySet gespeicherten Verfügbarkeitssatz.
Die nächsten vier Befehle weisen Variablen Werte zu, die im folgenden Befehl verwendet werden sollen.
Da Sie diese Zeichenfolgen direkt im Befehl "Set-AzVMOperatingSystem " angeben können, wird dieser Ansatz nur zur Lesbarkeit verwendet.
Sie können jedoch einen Ansatz wie diese in Skripts verwenden.
Der letzte Befehl legt betriebssystemeigenschaften für den virtuellen Computer fest, der in $VirtualMachine gespeichert ist.
Der Befehl verwendet die in $Credential gespeicherten Anmeldeinformationen.
Der Befehl verwendet Variablen, die in früheren Befehlen für einige Parameter zugewiesen wurden.
Beispiel 2: Festlegen von Betriebssystemeigenschaften für einen neuen virtuellen Computer mit aktiviertem Hot Patching
$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
Der erste Befehl konvertiert ein Kennwort in eine sichere Zeichenfolge und speichert es dann in der variablen $SecurePassword.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help ConvertTo-SecureString
.
Der zweite Befehl erstellt eine Anmeldeinformation für den Benutzer FullerP und das kennwort, das in $SecurePassword gespeichert ist, und speichert dann die Anmeldeinformationen in der variablen $Credential.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help New-Object
.
Der dritte Befehl ruft den Verfügbarkeitssatz "AvailabilitySet03" in der Ressourcengruppe "ResourceGroup11" ab und speichert dieses Objekt dann in der $AvailabilitySet Variablen.
Der vierte Befehl erstellt ein Objekt eines virtuellen Computers und speichert es dann in der $VirtualMachine Variablen.
Der Befehl weist dem virtuellen Computer einen Namen und eine Größe zu.
Der virtuelle Computer gehört zu dem in $AvailabilitySet gespeicherten Verfügbarkeitssatz.
Die nächsten vier Befehle weisen Variablen Werte zu, die im folgenden Befehl verwendet werden sollen.
Da Sie diese Zeichenfolgen direkt im Befehl "Set-AzVMOperatingSystem " angeben können, wird dieser Ansatz nur zur Lesbarkeit verwendet.
Sie können jedoch einen Ansatz wie diese in Skripts verwenden.
Der letzte Befehl legt betriebssystemeigenschaften für den virtuellen Computer fest, der in $VirtualMachine gespeichert ist.
Der Befehl verwendet die in $Credential gespeicherten Anmeldeinformationen.
Der Befehl verwendet Variablen, die in früheren Befehlen für einige Parameter zugewiesen wurden.
Der Befehl aktiviert Hotpatching auf dem virtuellen Computer.
Beispiel 3: Festlegen von Betriebssystemeigenschaften für einen neuen virtuellen Linux-Computer
$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"
Der erste Befehl konvertiert ein Kennwort in eine sichere Zeichenfolge und speichert es dann in der variablen $SecurePassword.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help ConvertTo-SecureString
.
Der zweite Befehl erstellt eine Anmeldeinformation für den Benutzer FullerP und das kennwort, das in $SecurePassword gespeichert ist, und speichert dann die Anmeldeinformationen in der variablen $Credential.
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help New-Object
.
Der dritte Befehl ruft den Verfügbarkeitssatz "AvailabilitySet03" in der Ressourcengruppe "ResourceGroup11" ab und speichert dieses Objekt dann in der $AvailabilitySet Variablen.
Der vierte Befehl erstellt ein Objekt eines virtuellen Computers und speichert es dann in der $VirtualMachine Variablen.
Der Befehl weist dem virtuellen Computer einen Namen und eine Größe zu.
Der virtuelle Computer gehört zu dem in $AvailabilitySet gespeicherten Verfügbarkeitssatz.
Die nächsten beiden Befehle weisen Variablen Werte zu, die im folgenden Befehl verwendet werden sollen.
Der letzte Befehl legt betriebssystemeigenschaften für den virtuellen Computer fest, der in $VirtualMachine gespeichert ist.
Der Befehl verwendet die in $Credential gespeicherten Anmeldeinformationen.
Der Befehl verwendet Variablen, die in früheren Befehlen für einige Parameter zugewiesen wurden.
Der Befehl legt den Patchmoduswert auf dem virtuellen Computer auf "AutomaticByPlatform" fest.
Beispiel 4: Festlegen von Betriebssystemeigenschaften mit einem Anmeldeinformationsparameter, wenn der virtuelle Computer nicht über ein OSProfile verfügt.
$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;
Parameter
-AssessmentMode
Wert des automatischen Bewertungsmodus für den virtuellen Computer. Mögliche Werte sind ImageDefault und AutomaticByPlatform.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ComputerName
Gibt den Namen des Computers an.
Typ: | String |
Position: | 2 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt den Benutzernamen und das Kennwort für den virtuellen Computer als PSCredential-Objekt an.
Verwenden Sie zum Abrufen von Anmeldeinformationen das Cmdlet "Get-Credential".
Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help Get-Credential
.
Typ: | PSCredential |
Position: | 3 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-CustomData
Gibt eine Zeichenfolge an, die an den virtuellen Computer übergeben werden soll. Weitere Informationen finden Sie unter Custom Data on Azure VMs. Hinweis: Es wird nicht empfohlen, vertrauliche Informationen in benutzerdefinierten Daten zu speichern.
Typ: | String |
Position: | 4 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-DefaultProfile
Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.
Typ: | IAzureContextContainer |
Aliase: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisablePasswordAuthentication
Gibt an, dass dieses Cmdlet die Kennwortauthentifizierung deaktiviert.
Typ: | SwitchParameter |
Position: | 5 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-DisableVMAgent
Deaktivieren Sie den VM-Agent für die Bereitstellung.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-EnableAutoUpdate
Gibt an, dass dieses Cmdlet die automatische Aktualisierung aktiviert.
Typ: | SwitchParameter |
Position: | 6 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-EnableHotpatching
Ermöglicht Es Kunden, ihre Azure-VMs zu patchen, ohne dass ein Neustart erforderlich ist. Für enableHotpatching muss "provisionVMAgent" auf "true" festgelegt werden, und "patchMode" muss auf "AutomaticByPlatform" festgelegt werden.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Linux
Gibt an, dass der Typ des Betriebssystems Linux ist.
Typ: | SwitchParameter |
Position: | 1 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-PatchMode
Gibt den Modus des In-Guest-Patchings auf den virtuellen IaaS-Computer an.
Dabei sind folgende Werte möglich:
AutomaticByPlatform – Patchinstallation für den virtuellen Computer wird von Azure verwaltet. Verwendung mit -Windows oder -Linux. Erfordert -ProvisionVMAgent. Erfordert "-EnableAutoUpdate" bei Verwendung mit -Windows.
AutomaticByOS – Patchinstallation für den virtuellen Computer wird vom Betriebssystem verwaltet. Wird mit -Windows verwendet. Erfordert -ProvisionVMAgent und -EnableAutoUpdate.
Manuell – Sie steuern die Anwendung von Patches auf einen virtuellen Computer. Wird mit -Windows verwendet. Erfordert -ProvisionVMAgent.
ImageDefault – Patchinstallation, die von den Standardeinstellungen im Betriebssystemimage verwaltet wird. Verwendung mit -Linux.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ProvisionVMAgent
Gibt an, dass die Einstellungen erfordern, dass der Agent des virtuellen Computers auf dem virtuellen Computer installiert ist.
Typ: | SwitchParameter |
Position: | 5 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-TimeZone
Gibt die Zeitzone des virtuellen Computers an. z.B. "Pacific Standard Time".
Mögliche Werte können TimeZoneInfo.Id Wert aus Zeitzonen sein, die von TimeZoneInfo.GetSystemTimeZones zurückgegeben werden.
Typ: | String |
Position: | 7 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-VM
Gibt das objekt des lokalen virtuellen Computers an, für das Betriebssystemeigenschaften festgelegt werden sollen. Verwenden Sie das Cmdlet "Get-AzVM", um ein Objekt eines virtuellen Computers abzurufen. Erstellen Sie ein Objekt eines virtuellen Computers mithilfe des Cmdlets New-AzVMConfig.
Typ: | PSVirtualMachine |
Aliase: | VMProfile |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Windows
Gibt an, dass der Typ des Betriebssystems Windows ist.
Typ: | SwitchParameter |
Position: | 1 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WinRMCertificateUrl
Gibt den URI eines WinRM-Zertifikats an. Dies muss in einem Key Vault gespeichert werden.
Typ: | Uri |
Position: | 10 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WinRMHttp
Gibt an, dass dieses Betriebssystem HTTP WinRM verwendet.
Typ: | SwitchParameter |
Position: | 8 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WinRMHttps
Gibt an, dass dieses Betriebssystem HTTPS WinRM verwendet.
Typ: | SwitchParameter |
Position: | 9 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |