你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureRmVMOperatingSystem

设置虚拟机的操作系统属性

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Set-AzureRmVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [-ComputerName] <String>
   [-Credential] <PSCredential>
   [[-CustomData] <String>]
   [-ProvisionVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [-ComputerName] <String>
   [-Credential] <PSCredential>
   [[-CustomData] <String>]
   [-ProvisionVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-WinRMHttps]
   [-WinRMCertificateUrl] <Uri>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [-ComputerName] <String>
   [-Credential] <PSCredential>
   [[-CustomData] <String>]
   [-DisableVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Windows]
   [-ComputerName] <String>
   [-Credential] <PSCredential>
   [[-CustomData] <String>]
   [-DisableVMAgent]
   [-EnableAutoUpdate]
   [[-TimeZone] <String>]
   [-WinRMHttp]
   [-WinRMHttps]
   [-WinRMCertificateUrl] <Uri>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmVMOperatingSystem
   [-VM] <PSVirtualMachine>
   [-Linux]
   [-ComputerName] <String>
   [-Credential] <PSCredential>
   [[-CustomData] <String>]
   [-DisablePasswordAuthentication]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

Set-AzureRmVMOperatingSystem cmdlet 设置虚拟机的操作系统属性。 可以指定登录凭据、计算机名称和操作系统类型。

示例

示例 1:设置新虚拟机的操作系统属性

PS C:\> $SecurePassword = ConvertTo-SecureString "Password" -AsPlainText -Force
PS C:\> $Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword); 
PS C:\> $AvailabilitySet = Get-AzureRmAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" 
PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
PS C:\> $ComputerName = "ContosoVM122"
PS C:\> $WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion"
PS C:\> $TimeZone = "Pacific Standard Time"
PS C:\> $CustomData = "echo 'Hello World'"
PS C:\> $VirtualMachine = Set-AzureRmVMOperatingSystem -VM $$VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone

第一个命令将密码转换为安全字符串,然后将其存储在$SecurePassword变量中。 要了解详情,请键入 Get-Help ConvertTo-SecureString。 第二个命令为用户 FullerP 和存储在 $SecurePassword 中的密码创建凭据,然后将凭据存储在$Credential变量中。 要了解详情,请键入 Get-Help New-Object。 第三个命令获取名为 ResourceGroup11 的资源组中名为 AvailablitySet03 的可用性集,然后将该对象存储在$AvailabilitySet变量中。 第四个命令创建虚拟机对象,然后将其存储在$VirtualMachine变量中。 该命令将名称和大小分配给虚拟机。 虚拟机属于存储在$AvailabilitySet的可用性集。 接下来的四个命令将值分配给要用于以下命令的变量。 由于可以直接在 Set-AzureRmVMOperatingSystem 命令中指定这些字符串,因此此方法仅用于可读性。 但是,可以在脚本中使用此类方法。 最终命令设置存储在$VirtualMachine中的虚拟机的操作系统属性。 该命令使用存储在$Credential中的凭据。 该命令使用前面命令中为某些参数分配的变量。

参数

-ComputerName

指定计算机的名称。

类型:String
Position:2
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Credential

将虚拟机的用户名和密码指定为 PSCredential 对象。 若要获取凭据,请使用 Get-Credential cmdlet。 要了解详情,请键入 Get-Help Get-Credential

类型:PSCredential
Position:3
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-CustomData

指定自定义数据的 base-64 编码字符串。 这已解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。

类型:String
Position:4
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisablePasswordAuthentication

指示此 cmdlet 禁用密码身份验证。

类型:SwitchParameter
Position:5
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DisableVMAgent

禁用预配 VM 代理。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableAutoUpdate

指示此 cmdlet 启用自动更新。

类型:SwitchParameter
Position:6
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Linux

指示操作系统的类型为 Linux。

类型:SwitchParameter
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ProvisionVMAgent

指示设置要求在虚拟机上安装虚拟机代理。

类型:SwitchParameter
Position:5
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-TimeZone

指定虚拟机的时区。

类型:String
Position:7
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VM

指定要在其中设置操作系统属性的本地虚拟机对象。 若要获取虚拟机对象,请使用 Get-AzureRmVM cmdlet。 使用 New-AzureRmVMConfig cmdlet 创建虚拟机对象。

类型:PSVirtualMachine
别名:VMProfile
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Windows

指示操作系统的类型为 Windows。

类型:SwitchParameter
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WinRMCertificateUrl

指定 WinRM 证书的 URI。 这需要存储在密钥库中。

类型:Uri
Position:10
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WinRMHttp

指示此操作系统使用 HTTP WinRM。

类型:SwitchParameter
Position:8
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-WinRMHttps

指示此操作系统使用 HTTPS WinRM。

类型:SwitchParameter
Position:9
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输入

PSVirtualMachine

SwitchParameter

String

PSCredential

Uri

输出

PSVirtualMachine