次の方法で共有


Set-AzVMOperatingSystem

新しい仮想マシンの作成時または仮想マシンの更新中にオペレーティング システムのプロパティを設定します。

構文

Windows (既定)

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-Windows]
    [-ProvisionVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsWinRmHttps

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-WinRMCertificateUrl] <Uri>
    [-Windows]
    [-ProvisionVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-WinRMHttps]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsDisableVMAgent

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-Windows]
    [-DisableVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsDisableVMAgentWinRmHttps

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-WinRMCertificateUrl] <Uri>
    [-Windows]
    [-DisableVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-WinRMHttps]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

Linux

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [-Linux]
    [-PatchMode <String>]
    [-DisablePasswordAuthentication]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

説明

Set-AzVMOperatingSystem コマンドレットは、新しい仮想マシンの作成時にオペレーティング システムのプロパティを設定します。 ログオン資格情報、コンピューター名、オペレーティング システムの種類を指定できます。

例 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」と入力します。 2 番目のコマンドは、ユーザー FullerP の資格情報と、$SecurePasswordに格納されているパスワードを作成し、その資格情報を $Credential 変数に格納します。 詳細については、「 Get-Help New-Object」と入力します。 3 番目のコマンドは、ResourceGroup11 という名前のリソース グループ内の AvailabilitySet03 という名前の可用性セットを取得し、そのオブジェクトを$AvailabilitySet変数に格納します。 4 番目のコマンドは、仮想マシン オブジェクトを作成し、$VirtualMachine変数に格納します。 このコマンドは、仮想マシンに名前とサイズを割り当てます。 仮想マシンは、$AvailabilitySetに格納されている可用性セットに属しています。 次の 4 つのコマンドは、次のコマンドで使用する変数に値を割り当てます。 これらの文字列は 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」と入力します。 2 番目のコマンドは、ユーザー FullerP の資格情報と、$SecurePasswordに格納されているパスワードを作成し、その資格情報を $Credential 変数に格納します。 詳細については、「 Get-Help New-Object」と入力します。 3 番目のコマンドは、ResourceGroup11 という名前のリソース グループ内の AvailabilitySet03 という名前の可用性セットを取得し、そのオブジェクトを$AvailabilitySet変数に格納します。 4 番目のコマンドは、仮想マシン オブジェクトを作成し、$VirtualMachine変数に格納します。 このコマンドは、仮想マシンに名前とサイズを割り当てます。 仮想マシンは、$AvailabilitySetに格納されている可用性セットに属しています。 次の 4 つのコマンドは、次のコマンドで使用する変数に値を割り当てます。 これらの文字列は 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」と入力します。 2 番目のコマンドは、ユーザー FullerP の資格情報と、$SecurePasswordに格納されているパスワードを作成し、その資格情報を $Credential 変数に格納します。 詳細については、「 Get-Help New-Object」と入力します。 3 番目のコマンドは、ResourceGroup11 という名前のリソース グループ内の AvailabilitySet03 という名前の可用性セットを取得し、そのオブジェクトを$AvailabilitySet変数に格納します。 4 番目のコマンドは、仮想マシン オブジェクトを作成し、$VirtualMachine変数に格納します。 このコマンドは、仮想マシンに名前とサイズを割り当てます。 仮想マシンは、$AvailabilitySetに格納されている可用性セットに属しています。 次の 2 つのコマンドは、次のコマンドで使用する変数に値を割り当てます。 最後のコマンドは、$VirtualMachineに格納されている仮想マシンのオペレーティング システムプロパティを設定します。 このコマンドは、$Credentialに格納されている資格情報を使用します。 このコマンドでは、一部のパラメーターに対して前のコマンドで割り当てられた変数を使用します。 このコマンドは、仮想マシンのパッチ モードの値を "AutomaticByPlatform" に設定します。

例 4: VM に OSProfile がない場合は、Credential パラメーターを使用してオペレーティング システムのプロパティを設定します。

$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
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-ComputerName

コンピューターの名前を指定します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:2
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Credential

仮想マシンのユーザー名とパスワードを PSCredential オブジェクトとして指定します。 資格情報を取得するには、Get-Credential コマンドレットを使用します。 詳細については、「 Get-Help Get-Credential」と入力します。

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:3
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-CustomData

仮想マシンに渡す文字列を指定します。 詳細については、「 Azure VM 上のカスタム データ」を参照してください。 注: 機密情報をカスタム データに格納することはお勧めしません。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:4
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-DefaultProfile

Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。

パラメーターのプロパティ

型:IAzureContextContainer
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:AzContext, AzureRmContext, AzureCredential

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DisablePasswordAuthentication

このコマンドレットがパスワード認証を無効にすることを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Linux
配置:5
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-DisableVMAgent

VM エージェントのプロビジョニングを無効にします。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

WindowsDisableVMAgent
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-EnableAutoUpdate

このコマンドレットで自動更新が有効であることを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:6
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:6
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgent
配置:6
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:6
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-EnableHotpatching

お客様は、再起動を必要とせずに Azure VM にパッチを適用できます。 enableHotpatching の場合、'provisionVMAgent' を true に設定し、'patchMode' を 'AutomaticByPlatform' に設定する必要があります。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgent
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Linux

オペレーティング システムの種類が Linux であることを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Linux
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-PatchMode

IaaS 仮想マシンへのゲスト内パッチ適用のモードを指定します。

使用可能な値は次のとおりです。
AutomaticByPlatform - 仮想マシンの修正プログラムのインストールは、Azure によって管理されます。 -Windows または -Linux で使用します。 -ProvisionVMAgent が必要です。 -Windows で使用する場合は -EnableAutoUpdate が必要です。
AutomaticByOS - 仮想マシンの修正プログラムのインストールは、OS によって管理されます。 -Windows と共に使用します。 -ProvisionVMAgent と -EnableAutoUpdate が必要です。
手動 - 仮想マシンへのパッチの適用を制御します。 -Windows と共に使用します。 -ProvisionVMAgent が必要です。
ImageDefault - OS イメージの既定の設定によって管理される修正プログラムのインストール。 -Linux と共に使用します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-ProvisionVMAgent

設定で仮想マシン エージェントを仮想マシンにインストールする必要があることを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:5
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:5
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-TimeZone

仮想マシンのタイム ゾーンを指定します。 例: "太平洋標準時"。
指定できる値は、TimeZoneInfo.GetSystemTimeZonesによって返されるタイム ゾーンからの値 TimeZoneInfo.Id できます。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:7
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:7
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgent
配置:7
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:7
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-VM

オペレーティング システムのプロパティを設定するローカル仮想マシン オブジェクトを指定します。 仮想マシン オブジェクトを取得するには、Get-AzVM コマンドレットを使用します。 New-AzVMConfig コマンドレットを使用して仮想マシン オブジェクトを作成します。

パラメーターのプロパティ

型:PSVirtualMachine
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:VMProfile

パラメーター セット

(All)
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Windows

オペレーティング システムの種類が Windows であることを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgent
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-WinRMCertificateUrl

WinRM 証明書の URI を指定します。 これは Key Vault に格納する必要があります。

パラメーターのプロパティ

型:Uri
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

WindowsWinRmHttps
配置:10
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:10
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-WinRMHttp

このオペレーティング システムが HTTP WinRM を使用することを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Windows
配置:8
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsWinRmHttps
配置:8
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgent
配置:8
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:8
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-WinRMHttps

このオペレーティング システムが HTTPS WinRM を使用することを示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

WindowsWinRmHttps
配置:9
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
WindowsDisableVMAgentWinRmHttps
配置:9
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

PSVirtualMachine

SwitchParameter

String

PSCredential

Uri

出力

PSVirtualMachine