Set-AzVMOperatingSystem
Yeni bir sanal makine oluşturma veya bir sanal makineyi güncelleştirme sırasında işletim sistemi özelliklerini ayarlar.
Sözdizimi
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
Set-AzVMOperatingSystem cmdlet'i, yeni bir sanal makine oluşturulurken işletim sistemi özelliklerini ayarlar. Oturum açma kimlik bilgilerini, bilgisayar adını ve işletim sistemi türünü belirtebilirsiniz.
Örnekler
Örnek 1: Yeni bir sanal makine için işletim sistemi özelliklerini ayarlama
$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"
İlk komut parolayı güvenli bir dizeye dönüştürür ve $SecurePassword değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help ConvertTo-SecureString
.
İkinci komut, FullerP kullanıcısı ve $SecurePassword depolanan parola için bir kimlik bilgisi oluşturur ve ardından kimlik bilgilerini $Credential değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help New-Object
.
Üçüncü komut ResourceGroup11 adlı kaynak grubunda AvailabilitySet03 adlı kullanılabilirlik kümesini alır ve ardından bu nesneyi $AvailabilitySet değişkeninde depolar.
Dördüncü komut bir sanal makine nesnesi oluşturur ve bunu $VirtualMachine değişkeninde depolar.
komutu sanal makineye bir ad ve boyut atar.
Sanal makine, $AvailabilitySet'de depolanan kullanılabilirlik kümesine aittir.
Sonraki dört komut, aşağıdaki komutta kullanılacak değişkenlere değerler atar.
Bu dizeleri doğrudan Set-AzVMOperatingSystem komutunda belirtebildiğiniz için, bu yaklaşım yalnızca okunabilirlik için kullanılır.
Ancak, betiklerde bunun gibi bir yaklaşım kullanabilirsiniz.
Son komut, $VirtualMachine depolanan sanal makine için işletim sistemi özelliklerini ayarlar.
komutu, $Credential'de depolanan kimlik bilgilerini kullanır.
komutu, bazı parametreler için önceki komutlarda atanan değişkenleri kullanır.
Örnek 2: Çalışırken düzeltme eki uygulama etkin yeni bir sanal makine için işletim sistemi özelliklerini ayarlama
$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
İlk komut parolayı güvenli bir dizeye dönüştürür ve $SecurePassword değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help ConvertTo-SecureString
.
İkinci komut, FullerP kullanıcısı ve $SecurePassword depolanan parola için bir kimlik bilgisi oluşturur ve ardından kimlik bilgilerini $Credential değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help New-Object
.
Üçüncü komut ResourceGroup11 adlı kaynak grubunda AvailabilitySet03 adlı kullanılabilirlik kümesini alır ve ardından bu nesneyi $AvailabilitySet değişkeninde depolar.
Dördüncü komut bir sanal makine nesnesi oluşturur ve bunu $VirtualMachine değişkeninde depolar.
komutu sanal makineye bir ad ve boyut atar.
Sanal makine, $AvailabilitySet'de depolanan kullanılabilirlik kümesine aittir.
Sonraki dört komut, aşağıdaki komutta kullanılacak değişkenlere değerler atar.
Bu dizeleri doğrudan Set-AzVMOperatingSystem komutunda belirtebildiğiniz için, bu yaklaşım yalnızca okunabilirlik için kullanılır.
Ancak, betiklerde bunun gibi bir yaklaşım kullanabilirsiniz.
Son komut, $VirtualMachine depolanan sanal makine için işletim sistemi özelliklerini ayarlar.
komutu, $Credential'de depolanan kimlik bilgilerini kullanır.
komutu, bazı parametreler için önceki komutlarda atanan değişkenleri kullanır.
komutu sanal makinede Hotpatching'i etkinleştirir.
Örnek 3: Yeni bir Linux sanal makinesi için işletim sistemi özelliklerini ayarlama
$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"
İlk komut parolayı güvenli bir dizeye dönüştürür ve $SecurePassword değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help ConvertTo-SecureString
.
İkinci komut, FullerP kullanıcısı ve $SecurePassword depolanan parola için bir kimlik bilgisi oluşturur ve ardından kimlik bilgilerini $Credential değişkeninde depolar.
Daha fazla bilgi için yazın Get-Help New-Object
.
Üçüncü komut ResourceGroup11 adlı kaynak grubunda AvailabilitySet03 adlı kullanılabilirlik kümesini alır ve ardından bu nesneyi $AvailabilitySet değişkeninde depolar.
Dördüncü komut bir sanal makine nesnesi oluşturur ve bunu $VirtualMachine değişkeninde depolar.
komutu sanal makineye bir ad ve boyut atar.
Sanal makine, $AvailabilitySet'de depolanan kullanılabilirlik kümesine aittir.
Sonraki iki komut, aşağıdaki komutta kullanılacak değişkenlere değerler atar.
Son komut, $VirtualMachine depolanan sanal makine için işletim sistemi özelliklerini ayarlar.
komutu, $Credential'de depolanan kimlik bilgilerini kullanır.
komutu, bazı parametreler için önceki komutlarda atanan değişkenleri kullanır.
komutu, sanal makinedeki düzeltme eki modu değerini "AutomaticByPlatform" olarak ayarlar.
Örnek 4: VM'de OSProfile olmadığında kimlik bilgisi parametresiyle işletim sistemi özelliklerini ayarlayın.
$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;
Parametreler
-AssessmentMode
Sanal makine için otomatik değerlendirme modu değeri. Olası değerler ImageDefault ve AutomaticByPlatform'dır.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-ComputerName
Bilgisayarın adını belirtir.
Tür: | String |
Position: | 2 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Credential
Sanal makinenin kullanıcı adını ve parolasını PSCredential nesnesi olarak belirtir.
Kimlik bilgisi almak için Get-Credential cmdlet'ini kullanın.
Daha fazla bilgi için yazın Get-Help Get-Credential
.
Tür: | PSCredential |
Position: | 3 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-CustomData
Sanal makineye geçirilecek dizeyi belirtir. Daha fazla bilgi için bkz. Azure VM'lerinde Özel Veriler. Not: Hassas bilgilerin özel verilerde depolanması önerilmez.
Tür: | String |
Position: | 4 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-DefaultProfile
Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik.
Tür: | IAzureContextContainer |
Diğer adlar: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-DisablePasswordAuthentication
Bu cmdlet'in parola kimlik doğrulamasını devre dışı bırakdığını gösterir.
Tür: | SwitchParameter |
Position: | 5 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-DisableVMAgent
VM Aracısı Sağlamayı devre dışı bırakın.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-EnableAutoUpdate
Bu cmdlet'in otomatik güncelleştirmeyi etkinleştirdiğini gösterir.
Tür: | SwitchParameter |
Position: | 6 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-EnableHotpatching
Müşterilerin yeniden başlatma gerektirmeden Azure VM'lerine düzeltme eki uygulamalarına olanak tanır. enableHotpatching için 'provisionVMAgent' true ve 'patchMode' değeri 'AutomaticByPlatform' olarak ayarlanmalıdır.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Linux
İşletim sistemi türünün Linux olduğunu gösterir.
Tür: | SwitchParameter |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-PatchMode
IaaS sanal makinesine konuk içi düzeltme eki uygulama modunu belirtir.
Olası değerler şunlardır:
AutomaticByPlatform - Sanal makine için düzeltme eki yüklemesi Azure tarafından yönetilir. -Windows veya -Linux ile kullanın. -ProvisionVMAgent gerektirir. -Windows ile kullanıldığında -EnableAutoUpdate gerektirir.
AutomaticByOS - Sanal makine için düzeltme eki yüklemesi işletim sistemi tarafından yönetilir. -Windows ile kullanın. -ProvisionVMAgent ve -EnableAutoUpdate gerektirir.
El ile - Bir sanal makineye düzeltme eki uygulanmasını denetlersiniz. -Windows ile kullanın. -ProvisionVMAgent gerektirir.
ImageDefault - İşletim sistemi görüntüsündeki varsayılan ayarlar tarafından yönetilen düzeltme eki yüklemesi. -Linux ile kullanın.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-ProvisionVMAgent
Ayarların sanal makine aracısının sanal makineye yüklenmesini gerektirdiğini gösterir.
Tür: | SwitchParameter |
Position: | 5 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-TimeZone
Sanal makinenin saat dilimini belirtir. Örneğin, "Pasifik Standart Saati".
Olası değerler TimeZoneInfo.GetSystemTimeZones tarafından döndürülen saat dilimlerinden TimeZoneInfo.Id değer olabilir.
Tür: | String |
Position: | 7 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-VM
İşletim sistemi özelliklerinin ayarlanacağı yerel sanal makine nesnesini belirtir. Bir sanal makine nesnesi almak için Get-AzVM cmdlet'ini kullanın. New-AzVMConfig cmdlet'ini kullanarak bir sanal makine nesnesi oluşturun.
Tür: | PSVirtualMachine |
Diğer adlar: | VMProfile |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Windows
İşletim sistemi türünün Windows olduğunu gösterir.
Tür: | SwitchParameter |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-WinRMCertificateUrl
WinRM sertifikasının URI'sini belirtir. Bunun bir Key Vault'ta depolanması gerekir.
Tür: | Uri |
Position: | 10 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-WinRMHttp
Bu işletim sisteminin HTTP WinRM kullandığını gösterir.
Tür: | SwitchParameter |
Position: | 8 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-WinRMHttps
Bu işletim sisteminin HTTPS WinRM kullandığını gösterir.
Tür: | SwitchParameter |
Position: | 9 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |