Set-AzVMOperatingSystem

在建立新的虛擬機或更新虛擬機期間設定操作系統屬性。

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>]

Description

Set-AzVMOperatingSystem Cmdlet 會在建立新的虛擬機期間設定操作系統屬性。 您可以指定登入認證、電腦名稱和作業系統類型。

範例

範例 1:設定新虛擬機的操作系統屬性

$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"

第一個命令會將密碼轉換成安全字串,然後將它儲存在$SecurePassword變數中。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString。 第二個命令會為使用者 FullerP 和儲存在 $SecurePassword 中的密碼建立認證,然後將認證儲存在 $Credential 變數中。 如需詳細資訊,請輸入 Get-Help New-Object。 第三個命令會在名為 ResourceGroup11 的資源群組中取得名為 AvailabilitySet03 的可用性設定組,然後將該物件儲存在$AvailabilitySet變數中。 第四個命令會建立虛擬機對象,然後將它儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 虛擬機屬於儲存在 $AvailabilitySet 的可用性設定組。 接下來的四個命令會將值指派給變數,以在下列命令中使用。 因為您可以直接在 Set-AzVMOperatingSystem 命令中指定這些字串,所以此方法僅用於可讀性。 不過,您可以在腳本中使用這類方法。 最後一個命令會設定儲存在 $VirtualMachine 之虛擬機的作業系統屬性。 命令會使用儲存在 $Credential 中的認證。 此命令會針對某些參數使用先前命令中指派的變數。

範例 2:為已啟用熱修補的新虛擬機設定操作系統屬性

$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

第一個命令會將密碼轉換成安全字串,然後將它儲存在$SecurePassword變數中。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString。 第二個命令會為使用者 FullerP 和儲存在 $SecurePassword 中的密碼建立認證,然後將認證儲存在 $Credential 變數中。 如需詳細資訊,請輸入 Get-Help New-Object。 第三個命令會在名為 ResourceGroup11 的資源群組中取得名為 AvailabilitySet03 的可用性設定組,然後將該物件儲存在$AvailabilitySet變數中。 第四個命令會建立虛擬機對象,然後將它儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 虛擬機屬於儲存在 $AvailabilitySet 的可用性設定組。 接下來的四個命令會將值指派給變數,以在下列命令中使用。 因為您可以直接在 Set-AzVMOperatingSystem 命令中指定這些字串,所以此方法僅用於可讀性。 不過,您可以在腳本中使用這類方法。 最後一個命令會設定儲存在 $VirtualMachine 之虛擬機的作業系統屬性。 命令會使用儲存在 $Credential 中的認證。 此命令會針對某些參數使用先前命令中指派的變數。 命令會在虛擬機上啟用 Hotpatching。

範例 3:設定新 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"

第一個命令會將密碼轉換成安全字串,然後將它儲存在$SecurePassword變數中。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString。 第二個命令會為使用者 FullerP 和儲存在 $SecurePassword 中的密碼建立認證,然後將認證儲存在 $Credential 變數中。 如需詳細資訊,請輸入 Get-Help New-Object。 第三個命令會在名為 ResourceGroup11 的資源群組中取得名為 AvailabilitySet03 的可用性設定組,然後將該物件儲存在$AvailabilitySet變數中。 第四個命令會建立虛擬機對象,然後將它儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 虛擬機屬於儲存在 $AvailabilitySet 的可用性設定組。 接下來的兩個命令會將值指派給變數,以在下列命令中使用。 最後一個命令會設定儲存在 $VirtualMachine 之虛擬機的作業系統屬性。 命令會使用儲存在 $Credential 中的認證。 此命令會針對某些參數使用先前命令中指派的變數。 命令會將虛擬機上的修補程式模式值設定為 「AutomaticByPlatform」。。

參數

-AssessmentMode

虛擬機的自動評估模式值。 可能的值為 ImageDefault 和 AutomaticByPlatform。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

指定計算機的名稱。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

將虛擬機的使用者名稱和密碼指定為 PSCredential 物件。 若要取得認證,請使用 Get-Credential Cmdlet。 如需詳細資訊,請輸入 Get-Help Get-Credential

Type:PSCredential
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CustomData

指定要傳遞至虛擬機的字串。 如需詳細資訊,請參閱 Azure VM 上的自定義數據。 注意:不建議將敏感性資訊儲存在自定義數據中。

Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisablePasswordAuthentication

指出此 Cmdlet 會停用密碼驗證。

Type:SwitchParameter
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisableVMAgent

停用布建 VM 代理程式。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAutoUpdate

指出此 Cmdlet 會啟用自動更新。

Type:SwitchParameter
Position:6
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableHotpatching

可讓客戶修補其 Azure VM,而不需要重新啟動。 針對 enableHotpatching,'provisionVMAgent' 必須設定為 true,且 'patchMode' 必須設定為 'AutomaticByPlatform'。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Linux

指出操作系統的類型為Linux。

Type:SwitchParameter
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PatchMode

指定客體內修補至 IaaS 虛擬機的模式。

可能的值包括:
AutomaticByPlatform - 虛擬機的修補程式安裝將由 Azure 管理。 搭配 -Windows 或 -Linux 使用。 需要 -ProvisionVMAgent。 搭配 -Windows 使用時需要 -EnableAutoUpdate。
AutomaticByOS - 虛擬機的修補程式安裝將由 OS 管理。 搭配 -Windows 使用。 需要 -ProvisionVMAgent 和 -EnableAutoUpdate。
手動 - 您可以控制將修補程式的應用程式套用至虛擬機。 搭配 -Windows 使用。 需要 -ProvisionVMAgent。
ImageDefault - 修補作業系統映像上預設設定所管理的修補程序安裝。 搭配 -Linux 使用。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProvisionVMAgent

指出設定需要虛擬機器代理程式安裝在虛擬機上。

Type:SwitchParameter
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TimeZone

指定虛擬機的時區。 例如「太平洋標準時間」。
可能的值可以從 TimeZoneInfo.GetSystemTimeZones傳回的時區 TimeZoneInfo.Id 值。

Type:String
Position:7
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VM

指定要設定作業系統屬性的本機虛擬機物件。 若要取得虛擬機物件,請使用 Get-AzVM Cmdlet。 使用 New-AzVMConfig Cmdlet 建立虛擬機物件。

Type:PSVirtualMachine
Aliases:VMProfile
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Windows

指出操作系統的類型為 Windows。

Type:SwitchParameter
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WinRMCertificateUrl

指定 WinRM 憑證的 URI。 這必須儲存在 金鑰保存庫 中。

Type:Uri
Position:10
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WinRMHttp

指出此操作系統使用 HTTP WinRM。

Type:SwitchParameter
Position:8
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WinRMHttps

指出此操作系統使用 HTTPS WinRM。

Type:SwitchParameter
Position:9
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸入

PSVirtualMachine

SwitchParameter

String

PSCredential

Uri

輸出

PSVirtualMachine