Set-AzVMOperatingSystem
Stelt eigenschappen van het besturingssysteem in tijdens het maken van een nieuwe virtuele machine of bij het bijwerken van een virtuele machine.
Syntaxis
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
Met de cmdlet Set-AzVMOperatingSystem worden de eigenschappen van het besturingssysteem ingesteld tijdens het maken van een nieuwe virtuele machine. U kunt aanmeldingsreferenties, computernaam en besturingssysteemtype opgeven.
Voorbeelden
Voorbeeld 1: Besturingssysteemeigenschappen instellen voor een nieuwe virtuele machine
$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"
Met de eerste opdracht wordt een wachtwoord geconverteerd naar een beveiligde tekenreeks en vervolgens opgeslagen in de $SecurePassword variabele.
Typ voor meer informatie Get-Help ConvertTo-SecureString
.
Met de tweede opdracht maakt u een referentie voor de gebruiker FullerP en het wachtwoord dat is opgeslagen in $SecurePassword en slaat u vervolgens de referentie op in de $Credential variabele.
Typ voor meer informatie Get-Help New-Object
.
Met de derde opdracht wordt de beschikbaarheidsset met de naam AvailabilitySet03 opgehaald in de resourcegroep met de naam ResourceGroup11 en wordt dat object vervolgens opgeslagen in de $AvailabilitySet variabele.
Met de vierde opdracht wordt een virtuele-machineobject gemaakt en vervolgens opgeslagen in de $VirtualMachine variabele.
Met de opdracht wordt een naam en grootte toegewezen aan de virtuele machine.
De virtuele machine behoort tot de beschikbaarheidsset die is opgeslagen in $AvailabilitySet.
Met de volgende vier opdrachten worden waarden toegewezen aan variabelen die moeten worden gebruikt in de volgende opdracht.
Omdat u deze tekenreeksen rechtstreeks in de opdracht Set-AzVMOperatingSystem kunt opgeven, wordt deze methode alleen gebruikt voor leesbaarheid.
U kunt echter een benadering zoals deze gebruiken in scripts.
Met de laatste opdracht worden besturingssysteemeigenschappen ingesteld voor de virtuele machine die is opgeslagen in $VirtualMachine.
De opdracht gebruikt de referenties die zijn opgeslagen in $Credential.
De opdracht maakt gebruik van variabelen die zijn toegewezen in eerdere opdrachten voor sommige parameters.
Voorbeeld 2: Besturingssysteemeigenschappen instellen voor een nieuwe virtuele machine waarvoor hot patching is ingeschakeld
$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
Met de eerste opdracht wordt een wachtwoord geconverteerd naar een beveiligde tekenreeks en vervolgens opgeslagen in de $SecurePassword variabele.
Typ voor meer informatie Get-Help ConvertTo-SecureString
.
Met de tweede opdracht maakt u een referentie voor de gebruiker FullerP en het wachtwoord dat is opgeslagen in $SecurePassword en slaat u vervolgens de referentie op in de $Credential variabele.
Typ voor meer informatie Get-Help New-Object
.
Met de derde opdracht wordt de beschikbaarheidsset met de naam AvailabilitySet03 opgehaald in de resourcegroep met de naam ResourceGroup11 en wordt dat object vervolgens opgeslagen in de $AvailabilitySet variabele.
Met de vierde opdracht wordt een virtuele-machineobject gemaakt en vervolgens opgeslagen in de $VirtualMachine variabele.
Met de opdracht wordt een naam en grootte toegewezen aan de virtuele machine.
De virtuele machine behoort tot de beschikbaarheidsset die is opgeslagen in $AvailabilitySet.
Met de volgende vier opdrachten worden waarden toegewezen aan variabelen die moeten worden gebruikt in de volgende opdracht.
Omdat u deze tekenreeksen rechtstreeks in de opdracht Set-AzVMOperatingSystem kunt opgeven, wordt deze methode alleen gebruikt voor leesbaarheid.
U kunt echter een benadering zoals deze gebruiken in scripts.
Met de laatste opdracht worden besturingssysteemeigenschappen ingesteld voor de virtuele machine die is opgeslagen in $VirtualMachine.
De opdracht gebruikt de referenties die zijn opgeslagen in $Credential.
De opdracht maakt gebruik van variabelen die zijn toegewezen in eerdere opdrachten voor sommige parameters.
Met de opdracht schakelt u Hotpatching in op de virtuele machine.
Voorbeeld 3: Besturingssysteemeigenschappen instellen voor een nieuwe virtuele Linux-machine
$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"
Met de eerste opdracht wordt een wachtwoord geconverteerd naar een beveiligde tekenreeks en vervolgens opgeslagen in de $SecurePassword variabele.
Typ voor meer informatie Get-Help ConvertTo-SecureString
.
Met de tweede opdracht maakt u een referentie voor de gebruiker FullerP en het wachtwoord dat is opgeslagen in $SecurePassword en slaat u vervolgens de referentie op in de $Credential variabele.
Typ voor meer informatie Get-Help New-Object
.
Met de derde opdracht wordt de beschikbaarheidsset met de naam AvailabilitySet03 opgehaald in de resourcegroep met de naam ResourceGroup11 en wordt dat object vervolgens opgeslagen in de $AvailabilitySet variabele.
Met de vierde opdracht wordt een virtuele-machineobject gemaakt en vervolgens opgeslagen in de $VirtualMachine variabele.
Met de opdracht wordt een naam en grootte toegewezen aan de virtuele machine.
De virtuele machine behoort tot de beschikbaarheidsset die is opgeslagen in $AvailabilitySet.
Met de volgende twee opdrachten worden waarden toegewezen aan variabelen die in de volgende opdracht moeten worden gebruikt.
Met de laatste opdracht worden besturingssysteemeigenschappen ingesteld voor de virtuele machine die is opgeslagen in $VirtualMachine.
De opdracht gebruikt de referenties die zijn opgeslagen in $Credential.
De opdracht maakt gebruik van variabelen die zijn toegewezen in eerdere opdrachten voor sommige parameters.
Met de opdracht wordt de waarde voor de patchmodus op de virtuele machine ingesteld op AutomaticByPlatform.
Voorbeeld 4: Stel eigenschappen van het besturingssysteem in met een referentieparameter wanneer de VM geen OSProfile heeft.
$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;
Parameters
-AssessmentMode
Waarde voor de automatische evaluatiemodus voor de virtuele machine. Mogelijke waarden zijn ImageDefault en AutomaticByPlatform.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ComputerName
Hiermee geeft u de naam van de computer.
Type: | String |
Position: | 2 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Credential
Hiermee geeft u de gebruikersnaam en het wachtwoord voor de virtuele machine op als een PSCredential-object .
Gebruik de cmdlet Get-Credential om een referentie te verkrijgen.
Typ voor meer informatie Get-Help Get-Credential
.
Type: | PSCredential |
Position: | 3 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-CustomData
Hiermee geeft u een tekenreeks die moet worden doorgegeven aan de virtuele machine. Zie Aangepaste gegevens op Virtuele Azure-machines voor meer informatie. Opmerking: het wordt niet aanbevolen om gevoelige informatie op te slaan in aangepaste gegevens.
Type: | String |
Position: | 4 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DisablePasswordAuthentication
Geeft aan dat met deze cmdlet wachtwoordverificatie wordt uitgeschakeld.
Type: | SwitchParameter |
Position: | 5 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-DisableVMAgent
Vm-agent inrichten uitschakelen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-EnableAutoUpdate
Geeft aan dat met deze cmdlet automatisch bijwerken wordt ingeschakeld.
Type: | SwitchParameter |
Position: | 6 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-EnableHotpatching
Hiermee kunnen klanten hun Virtuele Azure-machines patchen zonder dat ze opnieuw hoeven op te starten. Voor enableHotpatching moet de 'provisionVMAgent' worden ingesteld op true en moet patchMode worden ingesteld op 'AutomaticByPlatform'.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Linux
Geeft aan dat het type besturingssysteem Linux is.
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-PatchMode
Hiermee geeft u de modus van in-guest patching naar virtuele IaaS-machine.
Mogelijke waarden zijn:
AutomaticByPlatform - Patchinstallatie voor de virtuele machine wordt beheerd door Azure. Gebruiken met -Windows of -Linux. Vereist -ProvisionVMAgent. Vereist -EnableAutoUpdate wanneer deze wordt gebruikt met -Windows.
AutomaticByOS : patchinstallatie voor de virtuele machine wordt beheerd door het besturingssysteem. Gebruiken met -Windows. Vereist -ProvisionVMAgent en -EnableAutoUpdate.
Handmatig: u beheert de toepassing van patches op een virtuele machine. Gebruiken met -Windows. Vereist -ProvisionVMAgent.
ImageDefault : patchinstallatie die wordt beheerd door de standaardinstellingen op de installatiekopieën van het besturingssysteem. Gebruiken met -Linux.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ProvisionVMAgent
Geeft aan dat voor de instellingen moet worden vereist dat de virtuele-machineagent op de virtuele machine wordt geïnstalleerd.
Type: | SwitchParameter |
Position: | 5 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-TimeZone
Hiermee geeft u de tijdzone van de virtuele machine. bijvoorbeeld "Pacific Standard Time".
Mogelijke waarden kunnen worden TimeZoneInfo.Id waarde uit tijdzones die worden geretourneerd door TimeZoneInfo.GetSystemTimeZones.
Type: | String |
Position: | 7 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-VM
Hiermee geeft u het lokale virtuele-machineobject op waarop de eigenschappen van het besturingssysteem moeten worden ingesteld. Gebruik de cmdlet Get-AzVM om een virtuele-machineobject op te halen. Maak een virtuele-machineobject met behulp van de cmdlet New-AzVMConfig.
Type: | PSVirtualMachine |
Aliassen: | VMProfile |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Windows
Geeft aan dat het type besturingssysteem Windows is.
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WinRMCertificateUrl
Hiermee geeft u de URI van een WinRM-certificaat. Dit moet worden opgeslagen in een sleutelkluis.
Type: | Uri |
Position: | 10 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WinRMHttp
Geeft aan dat dit besturingssysteem GEBRUIKMAAKT van HTTP WinRM.
Type: | SwitchParameter |
Position: | 8 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WinRMHttps
Geeft aan dat dit besturingssysteem HTTPS WinRM gebruikt.
Type: | SwitchParameter |
Position: | 9 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
Uitvoerwaarden
Verwante koppelingen
Azure PowerShell