Set-AzVmssOsProfile
Legt die Profileigenschaften des VMSS-Betriebssystems fest.
Syntax
Set-AzVmssOsProfile
[-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
[[-ComputerNamePrefix] <String>]
[[-AdminUsername] <String>]
[[-AdminPassword] <String>]
[[-CustomData] <String>]
[[-WindowsConfigurationProvisionVMAgent] <Boolean>]
[-LinuxConfigurationProvisionVMAgent <Boolean>]
[[-WindowsConfigurationEnableAutomaticUpdate] <Boolean>]
[[-TimeZone] <String>]
[[-AdditionalUnattendContent] <AdditionalUnattendContent[]>]
[[-Listener] <WinRMListener[]>]
[[-LinuxConfigurationDisablePasswordAuthentication] <Boolean>]
[[-PublicKey] <SshPublicKey[]>]
[[-Secret] <VaultSecretGroup[]>]
[-WindowsConfigurationPatchMode <String>]
[-LinuxConfigurationPatchMode <String>]
[-EnableHotpatching]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Set-AzVmssOsProfile " werden die Profileigenschaften des Betriebssystems "Vm Scale Set" festgelegt.
Beispiele
Beispiel 1: Festlegen der Betriebssystemprofileigenschaften für eine VMSS
$vmss = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg
Set-AzVmssOsProfile -VirtualMachineScaleSet $vmss -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword
Mit diesem Befehl werden Die Profileigenschaften des Betriebssystems für das $vmss-Objekt festgelegt. Mit dem Befehl wird das Computernamenpräfix für alle Instanzen des virtuellen Computers in vmSS auf "Test" festgelegt und der Administratorbenutzername und das Kennwort angegeben.
Beispiel 2: Festlegen der Betriebssystemprofileigenschaften für einen virtuellen Computer im flexiblen Modus mit aktivierter Hotpatching-Funktion.
# Setup variables.
$loc = "eastus";
$rgname = "<Resource Group Name>";
$vmssName = "myVmssSlb";
$vmNamePrefix = "vmSlb";
$vmssInstanceCount = 5;
$vmssSku = "Standard_DS1_v2";
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "default-slb";
$subnetAddress = "10.0.2.0/24";
$securePassword = "<Password>" | ConvertTo-SecureString -AsPlainText -Force;
$cred = New-Object System.Management.Automation.PSCredential ("<Username>", $securePassword);
# VMSS Flex requires explicit outbound access.
# Create a virtual network.
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$virtualNetwork = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;
# Create a public IP address.
$publicIP = New-AzPublicIpAddress `
-ResourceGroupName $rgname `
-Location $loc `
-AllocationMethod Static `
-Sku "Standard" `
-IpAddressVersion "IPv4" `
-Name "myLBPublicIP";
# Create a frontend and backend IP pool.
$frontendIP = New-AzLoadBalancerFrontendIpConfig `
-Name "myFrontEndPool" `
-PublicIpAddress $publicIP;
$backendPool = New-AzLoadBalancerBackendAddressPoolConfig -Name "myBackEndPool" ;
# Create the load balancer.
$lb = New-AzLoadBalancer `
-ResourceGroupName $rgname `
-Name "myLoadBalancer" `
-Sku "Standard" `
-Tier "Regional" `
-Location $loc `
-FrontendIpConfiguration $frontendIP `
-BackendAddressPool $backendPool;
# Create a load balancer health probe for TCP port 80.
Add-AzLoadBalancerProbeConfig -Name "myHealthProbe" `
-LoadBalancer $lb `
-Protocol TCP `
-Port 80 `
-IntervalInSeconds 15 `
-ProbeCount 2;
# Create a load balancer rule to distribute traffic on port TCP 80.
# The health probe from the previous step is used to make sure that traffic is
# only directed to healthy VM instances.
Add-AzLoadBalancerRuleConfig `
-Name "myLoadBalancerRule" `
-LoadBalancer $lb `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0] `
-Protocol TCP `
-FrontendPort 80 `
-BackendPort 80 `
-DisableOutboundSNAT `
-Probe (Get-AzLoadBalancerProbeConfig -Name "myHealthProbe" -LoadBalancer $lb);
# Add outbound connectivity rule.
Add-AzLoadBalancerOutboundRuleConfig `
-Name "outboundrule" `
-LoadBalancer $lb `
-AllocatedOutboundPort '10000' `
-Protocol 'All' `
-IdleTimeoutInMinutes '15' `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0];
# Update the load balancer configuration.
Set-AzLoadBalancer -LoadBalancer $lb;
# Create IP address configurations.
# Instances will require explicit outbound connectivity, for example
# - NAT Gateway on the subnet (recommended)
# - Instances in backend pool of Standard LB with outbound connectivity rules
# - Public IP address on each instance
# See aka.ms/defaultoutboundaccess for more info.
$ipConfig = New-AzVmssIpConfig `
-Name "myIPConfig" `
-SubnetId $virtualNetwork.Subnets[0].Id `
-LoadBalancerBackendAddressPoolsId $lb.BackendAddressPools[0].Id `
-Primary;
# Create a config object.
# The Vmss config object stores the core information for creating a scale set.
$vmssConfig = New-AzVmssConfig `
-Location $loc `
-SkuCapacity $vmssInstanceCount `
-SkuName $vmssSku `
-OrchestrationMode 'Flexible' `
-PlatformFaultDomainCount 1;
# Reference a virtual machine image from the gallery.
Set-AzVmssStorageProfile $vmssConfig `
-OsDiskCreateOption "FromImage" `
-ImageReferencePublisher "MicrosoftWindowsServer" `
-ImageReferenceOffer "WindowsServer" `
-ImageReferenceSku "2022-datacenter-azure-edition-core-smalldisk" `
-ImageReferenceVersion "latest";
# Set up information for authenticating with the virtual machine.
Set-AzVmssOsProfile $vmssConfig `
-AdminUsername $cred.UserName `
-AdminPassword $cred.Password `
-ComputerNamePrefix $vmNamePrefix `
-WindowsConfigurationProvisionVMAgent $true `
-WindowsConfigurationPatchMode "AutomaticByPlatform" `
-EnableHotpatching;
# Attach the virtual network to the config object.
Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name "network-config" `
-Primary $true `
-IPConfiguration $ipConfig `
-NetworkApiVersion '2020-11-01';
# Define the Application Health extension properties.
$publicConfig = @{"protocol" = "http"; "port" = 80; "requestPath" = "/healthEndpoint"};
$extensionName = "myHealthExtension";
$extensionType = "ApplicationHealthWindows";
$publisher = "Microsoft.ManagedServices";
# Add the Application Health extension to the scale set model.
Add-AzVmssExtension -VirtualMachineScaleSet $vmssConfig `
-Name $extensionName `
-Publisher $publisher `
-Setting $publicConfig `
-Type $extensionType `
-TypeHandlerVersion "1.0" `
-AutoUpgradeMinorVersion $True;
# Create the virtual machine scale set.
$vmss = New-AzVmss `
-ResourceGroupName $rgname `
-Name $vmssName `
-VirtualMachineScaleSet $vmssConfig;
Festlegen der Betriebssystemprofileigenschaften für einen virtuellen Computer im flexiblen Modus mit aktiviertem Hotpatching
Parameter
-AdditionalUnattendContent
Gibt ein unbeaufsichtigtes Inhaltsobjekt an. Sie können das Objekt mithilfe des Add-AzVMAdditionalUnattendContent erstellen.
Type: | AdditionalUnattendContent[] |
Position: | 8 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AdminPassword
Gibt das Administratorkennwort an, das für alle Instanzen des virtuellen Computers im VMSS verwendet werden soll.
Type: | String |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AdminUsername
Gibt den Namen des Administratorkontos an, das für alle Instanzen des virtuellen Computers im VMSS verwendet werden soll.
Einschränkung:
Windows: Sonderzeichen /"[]:|<>+=;,?*@& oder enden sie in "."
Linux: Benutzername darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten und darf nicht mit einem Bindestrich oder einer Zahl beginnen.
Unzulässige Werte: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "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".
Mindestlänge: 1 Zeichen
Maximale Länge: 20 Zeichen für Windows, 64 Zeichen für Linux
Eine Liste der integrierten Systembenutzer unter Linux, die in diesem Feld nicht verwendet werden sollten, finden Sie unter Auswählen von Benutzernamen für Linux in Azure.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerNamePrefix
Gibt das Präfix des Computernamens für alle Instanzen des virtuellen Computers in vmSS an. Computernamen müssen 1 bis 15 Zeichen lang sein.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CustomData
Gibt eine base64-codierte Zeichenfolge von benutzerdefinierten Daten an.
Dies wird mit einem binären Array decodiert, das als Datei auf dem virtuellen Computer gespeichert wird.
Die maximale Länge des binären Arrays beträgt 65535 Bytes.
Informationen zur Verwendung von Cloud-Init für Ihren virtuellen Computer finden Sie unter Verwenden von Cloud-Init zum Anpassen einer Linux-VM während der Erstellung.
Type: | String |
Position: | 4 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DefaultProfile
Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableHotpatching
Ermöglicht Es Kunden, ihre Azure-VMs zu patchen, ohne einen Neustart zu erfordern. Für enableHotpatching muss "provisionVMAgent" auf "true" festgelegt werden, und "patchMode" muss auf "AutomaticByPlatform" festgelegt werden.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationDisablePasswordAuthentication
Gibt an, dass dieses Cmdlet die Kennwortauthentifizierung deaktiviert.
Type: | Nullable<T>[Boolean] |
Position: | 10 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationPatchMode
Gibt den Modus des VM-Gastpatchings auf iaaS-VM-Computer oder virtuelle Computer an, die mit orchestrationMode als flexibel verknüpft sind.
Dabei sind folgende Werte möglich:
ImageDefault – Die Standardpatchingkonfiguration des virtuellen Computers wird verwendet.
AutomaticByPlatform – Der virtuelle Computer wird automatisch von der Plattform aktualisiert. Die Eigenschaft provisionVMAgent muss true sein.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationProvisionVMAgent
Gibt an, ob der Agent des virtuellen Computers auf dem virtuellen Computer bereitgestellt werden soll.
Wenn diese Eigenschaft nicht im Anforderungstext angegeben ist, wird sie standardmäßig auf "true" festgelegt. Dadurch wird sichergestellt, dass der VM-Agent auf dem virtuellen Computer installiert ist, damit Erweiterungen später zur VM hinzugefügt werden können.
Type: | Nullable<T>[Boolean] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Listener
Gibt die Windows-Remoteverwaltung (WinRM)-Listener an. Dies ermöglicht Remote-Windows PowerShell. Sie können das Add-AzVmssWinRMListener-Cmdlet verwenden, um den Listener zu erstellen.
Type: | WinRMListener[] |
Position: | 9 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PublicKey
Gibt das Öffentliche Schlüsselobjekt (Secure Shell, SSH) an. Sie können das Add-AzVMSshPublicKey-Cmdlet verwenden, um das Objekt zu erstellen.
Type: | SshPublicKey[] |
Position: | 11 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Secret
Gibt das geheime Objekt an, das die Zertifikatverweise enthält, die auf dem virtuellen Computer platziert werden sollen. Sie können das Add-AzVmssSecret-Cmdlet verwenden, um das geheime Objekt zu erstellen.
Type: | VaultSecretGroup[] |
Position: | 12 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String |
Position: | 7 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VirtualMachineScaleSet
Gibt das VMSS-Objekt an. Sie können das Objekt mithilfe des Cmdlets New-AzVmssConfig erstellen.
Type: | PSVirtualMachineScaleSet |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WindowsConfigurationEnableAutomaticUpdate
Gibt an, ob die virtuellen Computer in VMSS für automatische Updates aktiviert sind.
Type: | Nullable<T>[Boolean] |
Position: | 6 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WindowsConfigurationPatchMode
Gibt den Modus des VM-Gastpatchings auf iaaS-VM-Computer oder virtuelle Computer an, die mit orchestrationMode als flexibel verknüpft sind.
Dabei sind folgende Werte möglich:
Manuell – Sie steuern die Anwendung von Patches auf einen virtuellen Computer. Dazu wenden Sie Patches manuell innerhalb des virtuellen Computers an. In diesem Modus sind automatische Updates deaktiviert; die Eigenschaft "WindowsConfiguration.enableAutomaticUpdates" muss "false" sein.
AutomaticByOS – Der virtuelle Computer wird automatisch vom Betriebssystem aktualisiert. Die Eigenschaft "WindowsConfiguration.enableAutomaticUpdates" muss "true" sein.
AutomaticByPlatform – der virtuelle Computer wird automatisch von der Plattform aktualisiert. Die Eigenschaften provisionVMAgent und WindowsConfiguration.enableAutomaticUpdates müssen true sein.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WindowsConfigurationProvisionVMAgent
Gibt an, ob der Agent des virtuellen Computers auf den virtuellen Computern in vmSS bereitgestellt werden soll.
Type: | Nullable<T>[Boolean] |
Position: | 5 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
Ausgaben
Ähnliche Themen
Azure PowerShell
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für