< Back

New-AzureBatchPool

Tue Jan 29, 2019 9:35 pm

NAME New-AzureBatchPool



SYNOPSIS

Creates a pool in the Batch service.





SYNTAX

New-AzureBatchPool [-Id] <String> [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>] [-ApplicationPackageReferences

<PSApplicationPackageReference[]>] [-AutoScaleEvaluationInterval <TimeSpan>] [-AutoScaleFormula <String>] -BatchContext <BatchAccountContext>

[-CertificateReferences <PSCertificateReference[]>] [-CloudServiceConfiguration <PSCloudServiceConfiguration>] [-DefaultProfile

<IAzureContextContainer>] [-DisplayName <String>] [-InterComputeNodeCommunicationEnabled] [-MaxTasksPerComputeNode <Int32>] [-Metadata

<IDictionary>] [-NetworkConfiguration <PSNetworkConfiguration>] [-StartTask <PSStartTask>] [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>]

[-UserAccount <PSUserAccount[]>] -VirtualMachineSize <String> [-Confirm] [-WhatIf] [<CommonParameters>]



New-AzureBatchPool [-Id] <String> [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>] [-ApplicationPackageReferences

<PSApplicationPackageReference[]>] [-AutoScaleEvaluationInterval <TimeSpan>] [-AutoScaleFormula <String>] -BatchContext <BatchAccountContext>

[-CertificateReferences <PSCertificateReference[]>] [-DefaultProfile <IAzureContextContainer>] [-DisplayName <String>]

[-InterComputeNodeCommunicationEnabled] [-MaxTasksPerComputeNode <Int32>] [-Metadata <IDictionary>] [-NetworkConfiguration

<PSNetworkConfiguration>] [-StartTask <PSStartTask>] [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>] [-UserAccount <PSUserAccount[]>]

[-VirtualMachineConfiguration <PSVirtualMachineConfiguration>] -VirtualMachineSize <String> [-Confirm] [-WhatIf] [<CommonParameters>]



New-AzureBatchPool [-Id] <String> [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>] [-ApplicationPackageReferences

<PSApplicationPackageReference[]>] -BatchContext <BatchAccountContext> [-CertificateReferences <PSCertificateReference[]>]

[-CloudServiceConfiguration <PSCloudServiceConfiguration>] [-DefaultProfile <IAzureContextContainer>] [-DisplayName <String>]

[-InterComputeNodeCommunicationEnabled] [-MaxTasksPerComputeNode <Int32>] [-Metadata <IDictionary>] [-NetworkConfiguration

<PSNetworkConfiguration>] [-ResizeTimeout <TimeSpan>] [-StartTask <PSStartTask>] [-TargetDedicatedComputeNodes <Int32>]

[-TargetLowPriorityComputeNodes <Int32>] [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>] [-UserAccount <PSUserAccount[]>] -VirtualMachineSize

<String> [-Confirm] [-WhatIf] [<CommonParameters>]



New-AzureBatchPool [-Id] <String> [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>] [-ApplicationPackageReferences

<PSApplicationPackageReference[]>] -BatchContext <BatchAccountContext> [-CertificateReferences <PSCertificateReference[]>] [-DefaultProfile

<IAzureContextContainer>] [-DisplayName <String>] [-InterComputeNodeCommunicationEnabled] [-MaxTasksPerComputeNode <Int32>] [-Metadata

<IDictionary>] [-NetworkConfiguration <PSNetworkConfiguration>] [-ResizeTimeout <TimeSpan>] [-StartTask <PSStartTask>]

[-TargetDedicatedComputeNodes <Int32>] [-TargetLowPriorityComputeNodes <Int32>] [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>] [-UserAccount

<PSUserAccount[]>] [-VirtualMachineConfiguration <PSVirtualMachineConfiguration>] -VirtualMachineSize <String> [-Confirm] [-WhatIf]

[<CommonParameters>]





DESCRIPTION

The New-AzureBatchPool cmdlet creates a pool in the Azure Batch service under the account specified by the BatchContext parameter.





PARAMETERS

-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>

The list of application licenses the Batch service will make available on each compute node in the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-ApplicationPackageReferences <PSApplicationPackageReference[]>





Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-AutoScaleEvaluationInterval <TimeSpan>

Specifies the amount of time, in minutes, that elapses before the pool size is automatically adjusted according to the AutoScale formula. The

default value is 15 minutes, and the minimum value is 5 minutes.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-AutoScaleFormula <String>

Specifies the formula for automatically scaling the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-BatchContext <BatchAccountContext>

Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. If you use the Get-AzureRmBatchAccount

cmdlet to get your BatchAccountContext, then Azure Active Directory authentication will be used when interacting with the Batch service. To

use shared key authentication instead, use the Get-AzureRmBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys

populated. When using shared key authentication, the primary access key is used by default. To change the key to use, set the

BatchAccountContext.KeyInUse property.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByValue)

Accept wildcard characters? false



-CertificateReferences <PSCertificateReference[]>

Specifies certificates associated with the pool. The Batch service installs the referenced certificates on each compute node of the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-CloudServiceConfiguration <PSCloudServiceConfiguration>

Specifies configuration settings for a pool based on the Azure cloud service platform.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DefaultProfile <IAzureContextContainer>

The credentials, account, tenant, and subscription used for communication with azure.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DisplayName <String>

Specifies the display name of the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Id <String>

Specifies the ID of the pool to create.



Required? true

Position? 0

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-InterComputeNodeCommunicationEnabled [<SwitchParameter>]

Indicates that this cmdlet sets up the pool for direct communication between dedicated compute nodes.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-MaxTasksPerComputeNode <Int32>

Specifies the maximum number of tasks that can run on a single compute node.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Metadata <IDictionary>

Specifies the metadata, as key/value pairs, to add to the new pool. The key is the metadata name. The value is the metadata value.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-NetworkConfiguration <PSNetworkConfiguration>

The network configuration for the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-ResizeTimeout <TimeSpan>

Specifies the time-out for allocating compute nodes to the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-StartTask <PSStartTask>

Specifies the start task specification for the pool. The start task is run when a compute node joins the pool, or when the compute node is

rebooted or reimaged.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-TargetDedicatedComputeNodes <Int32>

Specifies the target number of dedicated compute nodes to allocate to the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-TargetLowPriorityComputeNodes <Int32>

Specifies the target number of low-priority compute nodes to allocate to the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-TaskSchedulingPolicy <PSTaskSchedulingPolicy>

Specifies the task scheduling policy, such as the ComputeNodeFillType.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-UserAccount <PSUserAccount[]>

The list of user accounts to be created on each node in the pool.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-VirtualMachineConfiguration <PSVirtualMachineConfiguration>

Specifies configuration settings for a pool on the virtual machines infrastructure.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-VirtualMachineSize <String>

Specifies the size of the virtual machines in the pool. For more information about virtual machine sizes, see Sizes for virtual

machineshttps://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/

(https://azure.microsoft.com/en-us/docum ... ize-specs/) in the Microsoft Azure site.



Required? true

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Confirm [<SwitchParameter>]

Prompts you for confirmation before running the cmdlet.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-WhatIf [<SwitchParameter>]

Shows what would happen if the cmdlet runs. The cmdlet is not run.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).



INPUTS

BatchAccountContext

Parameter 'BatchContext' accepts value of type 'BatchAccountContext' from the pipeline





OUTPUTS



NOTES









Example 1: Create a new pool using the TargetDedicated parameter set



PS C:\\>New-AzureBatchPool -Id "MyPool" -VirtualMachineSize "Small" -OSFamily "4" -TargetOSVersion "*" -TargetDedicatedComputeNodes 3 -BatchContext

$Context



This command creates a new pool with ID MyPool using the TargetDedicated parameter set. The target allocation is three compute nodes. The pool is

configured to use small virtual machines imaged with the latest operating system version of family four.





Example 2: Create a new pool using the AutoScale parameter set



PS C:\\>New-AzureBatchPool -Id "AutoScalePool" -VirtualMachineSize "Small" -OSFamily "4" -TargetOSVersion "*" -AutoScaleFormula

'$TargetDedicated=2;' -BatchContext $Context



This command creates a new pool with ID AutoScalePool using the AutoScale parameter set. The pool is configured to use small virtual machines

imaged with the latest operating system version of family four, and the target number of compute nodes are determined by the Autoscale formula.





Example 3: Create a pool with nodes in a subnet



PS C:\\>$networkConfig = New-Object Microsoft.Azure.Commands.Batch.Models.PSNetworkConfiguration

PS C:\\>$networkConfig.SubnetId =

"/subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}"

PS C:\\>New-AzureBatchPool -Id "AutoScalePool" -VirtualMachineSize "Small" -OSFamily "4" -TargetDedicatedComputeNodes 3 -NetworkConfiguration

$networkConfig -BatchContext $Context









Example 4: Create a pool with custom user accounts



PS C:\\>$userAccount = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserAccount -ArgumentList @("myaccount", "mypassword")

PS C:\\>New-AzureBatchPool -Id "AutoScalePool" -VirtualMachineSize "Small" -OSFamily "4" -TargetDedicatedComputeNodes 3 -UserAccount $userAccount











RELATED LINKS

Online Version: https://docs.microsoft.com/en-us/powers ... ebatchpool

Get-AzureRmBatchAccountKeys

Get-AzureBatchPool

Remove-AzureBatchPool

Azure Batch Cmdlets