Set-AzVMOperatingSystem
새 가상 머신을 만들거나 가상 머신을 업데이트하는 동안 운영 체제 속성을 설정합니다.
구문
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 -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"
첫 번째 명령은 암호를 보안 문자열로 변환한 다음 $SecurePassword 변수에 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help ConvertTo-SecureString
.
두 번째 명령은 $SecurePassword 저장된 사용자 FullerP 및 암호에 대한 자격 증명을 만든 다음 $Credential 변수에 자격 증명을 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help New-Object
.
세 번째 명령은 ResourceGroup11이라는 리소스 그룹에 AvailabilitySet03이라는 가용성 집합을 가져오고 해당 개체를 $AvailabilitySet 변수에 저장합니다.
네 번째 명령은 가상 머신 개체를 만든 다음 $VirtualMachine 변수에 저장합니다.
이 명령은 가상 머신에 이름과 크기를 할당합니다.
가상 머신은 $AvailabilitySet 저장된 가용성 집합에 속합니다.
다음 네 명령은 다음 명령에서 사용할 변수에 값을 할당합니다.
Set-AzVMOperatingSystem 명령에서 이러한 문자열을 직접 지정할 수 있으므로 이 방법은 가독성을 위해서만 사용됩니다.
그러나 스크립트에서 이와 같은 접근 방식을 사용할 수 있습니다.
마지막 명령은 $VirtualMachine 저장된 가상 머신에 대한 운영 체제 속성을 설정합니다.
이 명령은 $Credential 저장된 자격 증명을 사용합니다.
이 명령은 일부 매개 변수에 대해 이전 명령에 할당된 변수를 사용합니다.
예제 2: 핫 패치를 사용하도록 설정된 새 가상 머신에 대한 운영 체제 속성 설정
$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
첫 번째 명령은 암호를 보안 문자열로 변환한 다음 $SecurePassword 변수에 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help ConvertTo-SecureString
.
두 번째 명령은 $SecurePassword 저장된 사용자 FullerP 및 암호에 대한 자격 증명을 만든 다음 $Credential 변수에 자격 증명을 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help New-Object
.
세 번째 명령은 ResourceGroup11이라는 리소스 그룹에 AvailabilitySet03이라는 가용성 집합을 가져오고 해당 개체를 $AvailabilitySet 변수에 저장합니다.
네 번째 명령은 가상 머신 개체를 만든 다음 $VirtualMachine 변수에 저장합니다.
이 명령은 가상 머신에 이름과 크기를 할당합니다.
가상 머신은 $AvailabilitySet 저장된 가용성 집합에 속합니다.
다음 네 명령은 다음 명령에서 사용할 변수에 값을 할당합니다.
Set-AzVMOperatingSystem 명령에서 이러한 문자열을 직접 지정할 수 있으므로 이 방법은 가독성을 위해서만 사용됩니다.
그러나 스크립트에서 이와 같은 접근 방식을 사용할 수 있습니다.
마지막 명령은 $VirtualMachine 저장된 가상 머신에 대한 운영 체제 속성을 설정합니다.
이 명령은 $Credential 저장된 자격 증명을 사용합니다.
이 명령은 일부 매개 변수에 대해 이전 명령에 할당된 변수를 사용합니다.
이 명령은 가상 머신에서 핫패칭을 사용하도록 설정합니다.
예제 3: 새 Linux 가상 머신에 대한 운영 체제 속성 설정
$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"
첫 번째 명령은 암호를 보안 문자열로 변환한 다음 $SecurePassword 변수에 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help ConvertTo-SecureString
.
두 번째 명령은 $SecurePassword 저장된 사용자 FullerP 및 암호에 대한 자격 증명을 만든 다음 $Credential 변수에 자격 증명을 저장합니다.
자세한 내용은 다음을 입력합니다 Get-Help New-Object
.
세 번째 명령은 ResourceGroup11이라는 리소스 그룹에 AvailabilitySet03이라는 가용성 집합을 가져오고 해당 개체를 $AvailabilitySet 변수에 저장합니다.
네 번째 명령은 가상 머신 개체를 만든 다음 $VirtualMachine 변수에 저장합니다.
이 명령은 가상 머신에 이름과 크기를 할당합니다.
가상 머신은 $AvailabilitySet 저장된 가용성 집합에 속합니다.
다음 두 명령은 다음 명령에서 사용할 변수에 값을 할당합니다.
마지막 명령은 $VirtualMachine 저장된 가상 머신에 대한 운영 체제 속성을 설정합니다.
이 명령은 $Credential 저장된 자격 증명을 사용합니다.
이 명령은 일부 매개 변수에 대해 이전 명령에 할당된 변수를 사용합니다.
이 명령은 가상 머신의 패치 모드 값을 "AutomaticByPlatform"으로 설정합니다.
예제 4: VM에 OSProfile이 없는 경우 자격 증명 매개 변수를 사용하여 운영 체제 속성을 설정합니다.
$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;
매개 변수
-AssessmentMode
가상 머신에 대한 자동 평가 모드 값입니다. 가능한 값은 ImageDefault 및 AutomaticByPlatform입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ComputerName
컴퓨터의 이름을 지정합니다.
형식: | String |
Position: | 2 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Credential
가상 머신의 사용자 이름과 암호를 PSCredential 개체로 지정합니다.
자격 증명을 가져오려면 Get-Credential cmdlet을 사용합니다.
자세한 내용은 다음을 입력합니다 Get-Help Get-Credential
.
형식: | PSCredential |
Position: | 3 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-CustomData
가상 머신에 전달할 문자열을 지정합니다. 자세한 내용은 Azure VM의 사용자 지정 데이터를 참조하세요. 참고: 중요한 정보를 사용자 지정 데이터에 저장하는 것은 권장되지 않습니다.
형식: | String |
Position: | 4 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-DefaultProfile
Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.
형식: | IAzureContextContainer |
별칭: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisablePasswordAuthentication
이 cmdlet은 암호 인증을 사용하지 않도록 설정함을 나타냅니다.
형식: | SwitchParameter |
Position: | 5 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-DisableVMAgent
프로비전 VM 에이전트를 사용하지 않도록 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-EnableAutoUpdate
이 cmdlet이 자동 업데이트를 사용하도록 설정했음을 나타냅니다.
형식: | SwitchParameter |
Position: | 6 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-EnableHotpatching
고객이 다시 부팅하지 않고도 Azure VM을 패치할 수 있습니다. enableHotpatching의 경우 'provisionVMAgent'를 true로 설정하고 'patchMode'를 'AutomaticByPlatform'으로 설정해야 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Linux
운영 체제 유형이 Linux임을 나타냅니다.
형식: | SwitchParameter |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-PatchMode
IaaS 가상 머신에 대한 게스트 내 패치 모드를 지정합니다.
가능한 값은 다음과 같습니다.
AutomaticByPlatform - 가상 머신에 대한 패치 설치는 Azure에서 관리됩니다. -Windows 또는 -Linux와 함께 사용합니다. -ProvisionVMAgent가 필요합니다. -Windows와 함께 사용할 경우 -EnableAutoUpdate가 필요합니다.
AutomaticByOS - 가상 머신에 대한 패치 설치는 OS에서 관리됩니다. -Windows와 함께 사용합니다. -ProvisionVMAgent 및 -EnableAutoUpdate가 필요합니다.
수동 - 가상 머신에 대한 패치 애플리케이션을 제어합니다. -Windows와 함께 사용합니다. -ProvisionVMAgent가 필요합니다.
ImageDefault - OS 이미지의 기본 설정에 의해 관리되는 패치 설치입니다. -Linux와 함께 사용합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ProvisionVMAgent
설정에서 가상 머신 에이전트를 가상 머신에 설치해야 임을 나타냅니다.
형식: | SwitchParameter |
Position: | 5 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-TimeZone
가상 머신의 표준 시간대를 지정합니다. 예: "태평양 표준시".
가능한 값은 TimeZoneInfo.GetSystemTimeZones에서 반환된 표준 시간대의 값을 TimeZoneInfo.Id 수 있습니다.
형식: | String |
Position: | 7 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-VM
운영 체제 속성을 설정할 로컬 가상 머신 개체를 지정합니다. 가상 머신 개체를 가져오려면 Get-AzVM cmdlet을 사용합니다. New-AzVMConfig cmdlet을 사용하여 가상 머신 개체를 만듭니다.
형식: | PSVirtualMachine |
별칭: | VMProfile |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Windows
운영 체제 유형이 Windows임을 나타냅니다.
형식: | SwitchParameter |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-WinRMCertificateUrl
WinRM 인증서의 URI를 지정합니다. Key Vault에 저장해야 합니다.
형식: | Uri |
Position: | 10 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-WinRMHttp
이 운영 체제에서 HTTP WinRM을 사용한다는 것을 나타냅니다.
형식: | SwitchParameter |
Position: | 8 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-WinRMHttps
이 운영 체제에서 HTTPS WinRM을 사용한다는 것을 나타냅니다.
형식: | SwitchParameter |
Position: | 9 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
입력
출력
관련 링크
Azure PowerShell