Set-AzVMOperatingSystem
Imposta le proprietà del sistema operativo durante la creazione di una nuova macchina virtuale o l'aggiornamento di una macchina virtuale.
Sintassi
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>]
Descrizione
Il cmdlet Set-AzVMOperatingSystem imposta le proprietà del sistema operativo durante la creazione di una nuova macchina virtuale. È possibile specificare le credenziali di accesso, il nome del computer e il tipo di sistema operativo.
Esempio
Esempio 1: Impostare le proprietà del sistema operativo per una nuova macchina virtuale
$SecurePassword = ConvertTo-SecureString "Password" -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"
Il primo comando converte una password in una stringa protetta e quindi la archivia nella variabile $SecurePassword.
Per ulteriori informazioni, digitare Get-Help ConvertTo-SecureString
.
Il secondo comando crea una credenziale per l'utente FullerP e la password archiviata in $SecurePassword, quindi archivia le credenziali nella variabile $Credential.
Per ulteriori informazioni, digitare Get-Help New-Object
.
Il terzo comando ottiene il set di disponibilità denominato AvailabilitySet03 nel gruppo di risorse denominato ResourceGroup11 e quindi archivia tale oggetto nella variabile $AvailabilitySet.
Il quarto comando crea un oggetto macchina virtuale e quindi lo archivia nella variabile $VirtualMachine.
Il comando assegna un nome e una dimensione alla macchina virtuale.
La macchina virtuale appartiene al set di disponibilità archiviato in $AvailabilitySet.
I quattro comandi successivi assegnano valori alle variabili da usare nel comando seguente.
Poiché è possibile specificare queste stringhe direttamente nel comando Set-AzVMOperatingSystem , questo approccio viene usato solo per la leggibilità.
Tuttavia, è possibile usare un approccio come questo negli script.
Il comando finale imposta le proprietà del sistema operativo per la macchina virtuale archiviata in $VirtualMachine.
Il comando usa le credenziali archiviate in $Credential.
Il comando usa le variabili assegnate nei comandi precedenti per alcuni parametri.
Esempio 2: Impostare le proprietà del sistema operativo per una nuova macchina virtuale con l'applicazione di patch ad accesso frequente abilitata
$SecurePassword = ConvertTo-SecureString "Password" -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
Il primo comando converte una password in una stringa protetta e quindi la archivia nella variabile $SecurePassword.
Per ulteriori informazioni, digitare Get-Help ConvertTo-SecureString
.
Il secondo comando crea una credenziale per l'utente FullerP e la password archiviata in $SecurePassword, quindi archivia le credenziali nella variabile $Credential.
Per ulteriori informazioni, digitare Get-Help New-Object
.
Il terzo comando ottiene il set di disponibilità denominato AvailabilitySet03 nel gruppo di risorse denominato ResourceGroup11 e quindi archivia tale oggetto nella variabile $AvailabilitySet.
Il quarto comando crea un oggetto macchina virtuale e quindi lo archivia nella variabile $VirtualMachine.
Il comando assegna un nome e una dimensione alla macchina virtuale.
La macchina virtuale appartiene al set di disponibilità archiviato in $AvailabilitySet.
I quattro comandi successivi assegnano valori alle variabili da usare nel comando seguente.
Poiché è possibile specificare queste stringhe direttamente nel comando Set-AzVMOperatingSystem , questo approccio viene usato solo per la leggibilità.
Tuttavia, è possibile usare un approccio come questo negli script.
Il comando finale imposta le proprietà del sistema operativo per la macchina virtuale archiviata in $VirtualMachine.
Il comando usa le credenziali archiviate in $Credential.
Il comando usa le variabili assegnate nei comandi precedenti per alcuni parametri.
Il comando abilita hotpatching nella macchina virtuale.
Esempio 3: Impostare le proprietà del sistema operativo per una nuova macchina virtuale Linux
$SecurePassword = ConvertTo-SecureString "Password" -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"
Il primo comando converte una password in una stringa protetta e quindi la archivia nella variabile $SecurePassword.
Per ulteriori informazioni, digitare Get-Help ConvertTo-SecureString
.
Il secondo comando crea una credenziale per l'utente FullerP e la password archiviata in $SecurePassword, quindi archivia le credenziali nella variabile $Credential.
Per ulteriori informazioni, digitare Get-Help New-Object
.
Il terzo comando ottiene il set di disponibilità denominato AvailabilitySet03 nel gruppo di risorse denominato ResourceGroup11 e quindi archivia tale oggetto nella variabile $AvailabilitySet.
Il quarto comando crea un oggetto macchina virtuale e quindi lo archivia nella variabile $VirtualMachine.
Il comando assegna un nome e una dimensione alla macchina virtuale.
La macchina virtuale appartiene al set di disponibilità archiviato in $AvailabilitySet.
I due comandi successivi assegnano valori alle variabili da usare nel comando seguente.
Il comando finale imposta le proprietà del sistema operativo per la macchina virtuale archiviata in $VirtualMachine.
Il comando usa le credenziali archiviate in $Credential.
Il comando usa le variabili assegnate nei comandi precedenti per alcuni parametri.
Il comando imposta il valore della modalità patch nella macchina virtuale su "AutomaticByPlatform".
Parametri
-AssessmentMode
Valore della modalità di valutazione automatica per la macchina virtuale. I valori possibili sono ImageDefault e AutomaticByPlatform.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ComputerName
Specifica il nome del computer.
Tipo: | String |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Credential
Specifica il nome utente e la password per la macchina virtuale come oggetto PSCredential .
Per ottenere credenziali, usare il cmdlet Get-Credential.
Per ulteriori informazioni, digitare Get-Help Get-Credential
.
Tipo: | PSCredential |
Posizione: | 3 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-CustomData
Specifica una stringa da passare alla macchina virtuale. Per altre informazioni, vedere Dati personalizzati nelle macchine virtuali di Azure. Nota: non è consigliabile archiviare informazioni riservate nei dati personalizzati.
Tipo: | String |
Posizione: | 4 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DisablePasswordAuthentication
Indica che questo cmdlet disabilita l'autenticazione della password.
Tipo: | SwitchParameter |
Posizione: | 5 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DisableVMAgent
Disabilitare provisioning dell'agente di macchine virtuali.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-EnableAutoUpdate
Indica che questo cmdlet abilita l'aggiornamento automatico.
Tipo: | SwitchParameter |
Posizione: | 6 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-EnableHotpatching
Consente ai clienti di applicare patch alle macchine virtuali di Azure senza richiedere un riavvio. Per enableHotpatching, 'provisionVMAgent' deve essere impostato su true e 'patchMode' deve essere impostato su 'AutomaticByPlatform'.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Linux
Indica che il tipo di sistema operativo è Linux.
Tipo: | SwitchParameter |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PatchMode
Specifica la modalità di applicazione di patch in guest alla macchina virtuale IaaS.
I valori possibili sono:
AutomaticByPlatform : l'installazione di patch per la macchina virtuale verrà gestita da Azure. Usare con -Windows o -Linux. Richiede -ProvisionVMAgent. Richiede -EnableAutoUpdate se usato con -Windows.
AutomaticByOS : l'installazione di patch per la macchina virtuale verrà gestita dal sistema operativo. Usare con -Windows. Richiede -ProvisionVMAgent e -EnableAutoUpdate.
Manuale: è possibile controllare l'applicazione di patch a una macchina virtuale. Usare con -Windows. Richiede -ProvisionVMAgent.
ImageDefault: installazione di patch gestita dalle impostazioni predefinite nell'immagine del sistema operativo. Usare con -Linux.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ProvisionVMAgent
Indica che le impostazioni richiedono l'installazione dell'agente di macchine virtuali nella macchina virtuale.
Tipo: | SwitchParameter |
Posizione: | 5 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-TimeZone
Specifica il fuso orario della macchina virtuale. ad esempio "Ora solare pacifico".
I valori possibili possono essere TimeZoneInfo.Id valore dai fusi orari restituiti da TimeZoneInfo.GetSystemTimeZones.
Tipo: | String |
Posizione: | 7 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-VM
Specifica l'oggetto macchina virtuale locale in cui impostare le proprietà del sistema operativo. Per ottenere un oggetto macchina virtuale, usare il cmdlet Get-AzVM. Creare un oggetto macchina virtuale usando il cmdlet New-AzVMConfig.
Tipo: | PSVirtualMachine |
Alias: | VMProfile |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Windows
Indica che il tipo di sistema operativo è Windows.
Tipo: | SwitchParameter |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WinRMCertificateUrl
Specifica l'URI di un certificato WinRM. Questa operazione deve essere archiviata in un insieme di credenziali delle chiavi.
Tipo: | Uri |
Posizione: | 10 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WinRMHttp
Indica che questo sistema operativo usa HTTP WinRM.
Tipo: | SwitchParameter |
Posizione: | 8 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WinRMHttps
Indica che questo sistema operativo usa WINRM HTTPS.
Tipo: | SwitchParameter |
Posizione: | 9 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |