Set-AzVmssOsProfile
VMSS オペレーティング システム プロファイルのプロパティを設定します。
構文
Set-AzVmssOsProfile
[-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
[[-ComputerNamePrefix] <String>]
[[-AdminUsername] <String>]
[[-AdminPassword] <String>]
[[-CustomData] <String>]
[[-WindowsConfigurationProvisionVMAgent] <Boolean>]
[-LinuxConfigurationProvisionVMAgent <Boolean>]
[[-WindowsConfigurationEnableAutomaticUpdate] <Boolean>]
[[-TimeZone] <String>]
[[-AdditionalUnattendContent] <AdditionalUnattendContent[]>]
[[-Listener] <WinRMListener[]>]
[[-LinuxConfigurationDisablePasswordAuthentication] <Boolean>]
[[-PublicKey] <SshPublicKey[]>]
[[-Secret] <VaultSecretGroup[]>]
[-WindowsConfigurationPatchMode <String>]
[-LinuxConfigurationPatchMode <String>]
[-EnableHotpatching]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Set-AzVmssOsProfile コマンドレットは、仮想マシン スケール セットのオペレーティング システム プロファイルプロパティを設定します。
例
例 1: VMSS のオペレーティング システム プロファイルのプロパティを設定する
$vmss = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg
Set-AzVmssOsProfile -VirtualMachineScaleSet $vmss -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword
このコマンドは、$vmss オブジェクトのオペレーティング システム プロファイルプロパティを設定します。 このコマンドは、VMSS 内のすべての仮想マシン インスタンスのコンピューター名プレフィックスをテストに設定し、管理者のユーザー名とパスワードを指定します。
例 2: ホットパッチが有効になっているフレキシブル モードの Vmss のオペレーティング システム プロファイルプロパティを設定します。
# Setup variables.
$loc = "eastus";
$rgname = "<Resource Group Name>";
$vmssName = "myVmssSlb";
$vmNamePrefix = "vmSlb";
$vmssInstanceCount = 5;
$vmssSku = "Standard_DS1_v2";
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "default-slb";
$subnetAddress = "10.0.2.0/24";
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$cred = New-Object System.Management.Automation.PSCredential ("<Username>", $securePassword);
# VMSS Flex requires explicit outbound access.
# Create a virtual network.
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$virtualNetwork = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;
# Create a public IP address.
$publicIP = New-AzPublicIpAddress `
-ResourceGroupName $rgname `
-Location $loc `
-AllocationMethod Static `
-Sku "Standard" `
-IpAddressVersion "IPv4" `
-Name "myLBPublicIP";
# Create a frontend and backend IP pool.
$frontendIP = New-AzLoadBalancerFrontendIpConfig `
-Name "myFrontEndPool" `
-PublicIpAddress $publicIP;
$backendPool = New-AzLoadBalancerBackendAddressPoolConfig -Name "myBackEndPool" ;
# Create the load balancer.
$lb = New-AzLoadBalancer `
-ResourceGroupName $rgname `
-Name "myLoadBalancer" `
-Sku "Standard" `
-Tier "Regional" `
-Location $loc `
-FrontendIpConfiguration $frontendIP `
-BackendAddressPool $backendPool;
# Create a load balancer health probe for TCP port 80.
Add-AzLoadBalancerProbeConfig -Name "myHealthProbe" `
-LoadBalancer $lb `
-Protocol TCP `
-Port 80 `
-IntervalInSeconds 15 `
-ProbeCount 2;
# Create a load balancer rule to distribute traffic on port TCP 80.
# The health probe from the previous step is used to make sure that traffic is
# only directed to healthy VM instances.
Add-AzLoadBalancerRuleConfig `
-Name "myLoadBalancerRule" `
-LoadBalancer $lb `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0] `
-Protocol TCP `
-FrontendPort 80 `
-BackendPort 80 `
-DisableOutboundSNAT `
-Probe (Get-AzLoadBalancerProbeConfig -Name "myHealthProbe" -LoadBalancer $lb);
# Add outbound connectivity rule.
Add-AzLoadBalancerOutboundRuleConfig `
-Name "outboundrule" `
-LoadBalancer $lb `
-AllocatedOutboundPort '10000' `
-Protocol 'All' `
-IdleTimeoutInMinutes '15' `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0];
# Update the load balancer configuration.
Set-AzLoadBalancer -LoadBalancer $lb;
# Create IP address configurations.
# Instances will require explicit outbound connectivity, for example
# - NAT Gateway on the subnet (recommended)
# - Instances in backend pool of Standard LB with outbound connectivity rules
# - Public IP address on each instance
# See aka.ms/defaultoutboundaccess for more info.
$ipConfig = New-AzVmssIpConfig `
-Name "myIPConfig" `
-SubnetId $virtualNetwork.Subnets[0].Id `
-LoadBalancerBackendAddressPoolsId $lb.BackendAddressPools[0].Id `
-Primary;
# Create a config object.
# The Vmss config object stores the core information for creating a scale set.
$vmssConfig = New-AzVmssConfig `
-Location $loc `
-SkuCapacity $vmssInstanceCount `
-SkuName $vmssSku `
-OrchestrationMode 'Flexible' `
-PlatformFaultDomainCount 1;
# Reference a virtual machine image from the gallery.
Set-AzVmssStorageProfile $vmssConfig `
-OsDiskCreateOption "FromImage" `
-ImageReferencePublisher "MicrosoftWindowsServer" `
-ImageReferenceOffer "WindowsServer" `
-ImageReferenceSku "2022-datacenter-azure-edition-core-smalldisk" `
-ImageReferenceVersion "latest";
# Set up information for authenticating with the virtual machine.
Set-AzVmssOsProfile $vmssConfig `
-AdminUsername $cred.UserName `
-AdminPassword $cred.Password `
-ComputerNamePrefix $vmNamePrefix `
-WindowsConfigurationProvisionVMAgent $true `
-WindowsConfigurationPatchMode "AutomaticByPlatform" `
-EnableHotpatching;
# Attach the virtual network to the config object.
Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name "network-config" `
-Primary $true `
-IPConfiguration $ipConfig `
-NetworkApiVersion '2020-11-01';
# Define the Application Health extension properties.
$publicConfig = @{"protocol" = "http"; "port" = 80; "requestPath" = "/healthEndpoint"};
$extensionName = "myHealthExtension";
$extensionType = "ApplicationHealthWindows";
$publisher = "Microsoft.ManagedServices";
# Add the Application Health extension to the scale set model.
Add-AzVmssExtension -VirtualMachineScaleSet $vmssConfig `
-Name $extensionName `
-Publisher $publisher `
-Setting $publicConfig `
-Type $extensionType `
-TypeHandlerVersion "1.0" `
-AutoUpgradeMinorVersion $True;
# Create the virtual machine scale set.
$vmss = New-AzVmss `
-ResourceGroupName $rgname `
-Name $vmssName `
-VirtualMachineScaleSet $vmssConfig;
ホットパッチを有効にしてフレキシブル モードで Vmss のオペレーティング システム プロファイルプロパティを設定する
パラメーター
-AdditionalUnattendContent
無人コンテンツ オブジェクトを指定します。 Add-AzVMAdditionalUnattendContent を使用してオブジェクトを作成できます。
型: | AdditionalUnattendContent[] |
配置: | 8 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-AdminPassword
VMSS 内のすべての仮想マシン インスタンスに使用する管理者パスワードを指定します。
型: | String |
配置: | 3 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-AdminUsername
VMSS 内のすべての仮想マシン インスタンスに使用する管理者アカウント名を指定します。
制限:
Windows: 特殊文字 /""[]:|<>+=;,?*@& または末尾に "."
Linux: ユーザー名には文字、数字、ハイフン、アンダースコアのみを含める必要があり、ハイフンまたは数字で始めてはなりません。
許可されていない値: "administrator"、"admin"、"user"、"user1"、"test"、"user2"、"test1"、"user3"、"admin1"、 "1"、"123"、"a"、"actuser"、"adm"、"admin2"、"aspnet"、"backup"、"console"、"david"、"guest"、"john"、"owner"、"root"、"server"、"sql"、"support"、"support_388945a0"、"sys"、"test2"、"test3"、"user4"、"user5"。
最小長: 1 文字
の最大長: Windows 20 文字、Linux の場合は 64 文字
このフィールドで使用すべきでない Linux 上の組み込みシステム ユーザーの一覧については、「Azureでの Linux のユーザー名の選択」を参照してください。
型: | String |
配置: | 2 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ComputerNamePrefix
VMSS 内のすべての仮想マシン インスタンスのコンピューター名プレフィックスを指定します。 コンピューター名の長さは 1 ~ 15 文字にする必要があります。
型: | String |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CustomData
カスタム データの base-64 でエンコードされた文字列を指定します。
これは、仮想マシン上のファイルとして保存されるバイナリ配列にデコードされます。
バイナリ配列の最大長は 65535 バイトです。
VM に cloud-init を使用する方法については、「cloud-init を使用して、の作成時に Linux VM をカスタマイズする」を参照してください。
型: | String |
配置: | 4 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。
型: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-EnableHotpatching
お客様は、再起動を必要とせずに Azure Vms にパッチを適用できます。 enableHotpatching の場合、'provisionVMAgent' を true に設定し、'patchMode' を 'AutomaticByPlatform' に設定する必要があります。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LinuxConfigurationDisablePasswordAuthentication
このコマンドレットがパスワード認証を無効にすることを示します。
型: | Nullable<T>[Boolean] |
配置: | 10 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LinuxConfigurationPatchMode
OrchestrationMode をフレキシブルとして使用して、仮想マシン スケール セットに関連付けられている IaaS 仮想マシンまたは仮想マシンへの VM ゲスト パッチ適用のモードを指定します。
使用可能な値は次のとおりです。
ImageDefault - 仮想マシンの既定の修正プログラムの適用構成が使用されます。
AutomaticByPlatform - 仮想マシンはプラットフォームによって自動的に更新されます。 プロパティ provisionVMAgent は true である必要があります
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LinuxConfigurationProvisionVMAgent
仮想マシン エージェントを仮想マシンにプロビジョニングするかどうかを示します。
このプロパティが要求本文で指定されていない場合、既定の動作では true に設定されます。 これにより、VM エージェントが VM にインストールされ、後で VM に拡張機能を追加できるようになります。
型: | Nullable<T>[Boolean] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Listener
Windows リモート管理 (WinRM) リスナーを指定します。 これにより、リモート Windows PowerShell が有効になります。 Add-AzVmssWinRMListener コマンドレットを使用してリスナーを作成できます。
型: | WinRMListener[] |
配置: | 9 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PublicKey
Secure Shell (SSH) 公開キー オブジェクトを指定します。 Add-AzVMSshPublicKey コマンドレットを使用してオブジェクトを作成できます。
型: | SshPublicKey[] |
配置: | 11 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Secret
仮想マシンに配置する証明書参照を含むシークレット オブジェクトを指定します。 Add-AzVmssSecret コマンドレットを使用してシークレット オブジェクトを作成できます。
型: | VaultSecretGroup[] |
配置: | 12 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-TimeZone
仮想マシンのタイム ゾーンを指定します。 例: "太平洋標準時"。
指定できる値は、TimeZoneInfo.GetSystemTimeZonesによって返されるタイム ゾーンからの値 TimeZoneInfo.Id できます。
型: | String |
配置: | 7 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-VirtualMachineScaleSet
VMSS オブジェクトを指定します。 New-AzVmssConfig コマンドレットを使用してオブジェクトを作成できます。
型: | PSVirtualMachineScaleSet |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WindowsConfigurationEnableAutomaticUpdate
VMSS 内の仮想マシンが自動更新に対して有効になっているかどうかを示します。
型: | Nullable<T>[Boolean] |
配置: | 6 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WindowsConfigurationPatchMode
OrchestrationMode をフレキシブルとして使用して、仮想マシン スケール セットに関連付けられている IaaS 仮想マシンまたは仮想マシンへの VM ゲスト パッチ適用のモードを指定します。
使用可能な値は次のとおりです。
手動 - 仮想マシンへのパッチの適用を制御します。 これを行うには、VM 内でパッチを手動で適用します。 このモードでは、自動更新は無効になります。プロパティ WindowsConfiguration.enableAutomaticUpdates は false にする必要があります
AutomaticByOS - 仮想マシンは OS によって自動的に更新されます。 プロパティ WindowsConfiguration.enableAutomaticUpdates は true である必要があります。
AutomaticByPlatform
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WindowsConfigurationProvisionVMAgent
VMSS 内の仮想マシンに仮想マシン エージェントをプロビジョニングする必要があるかどうかを示します。
型: | Nullable<T>[Boolean] |
配置: | 5 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
出力
関連リンク
Azure PowerShell