你当前正在访问 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 |