你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Disable-AzBatchComputeNodeScheduling

在指定的计算节点上禁用任务计划。

语法

Disable-AzBatchComputeNodeScheduling
       [-PoolId] <String>
       [-Id] <String>
       [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
       -BatchContext <BatchAccountContext>
       [-DefaultProfile <IAzureContextContainer>]
       [<CommonParameters>]
Disable-AzBatchComputeNodeScheduling
       [[-ComputeNode] <PSComputeNode>]
       [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
       -BatchContext <BatchAccountContext>
       [-DefaultProfile <IAzureContextContainer>]
       [<CommonParameters>]

说明

Disable-AzBatchComputeNodeScheduling cmdlet 在指定的计算节点上禁用任务计划。 计算节点是专用于特定应用程序工作负荷的 Azure 虚拟机。 在计算节点上禁用任务计划时,还可以选择确定当前在节点的任务队列中对作业执行的操作。 Disable-AzBatchComputeNodeScheduling 允许执行以下操作:

  • 终止任务并将其放回作业队列中。 这样,这些任务就可以在另一个计算节点上重新计划。
  • 终止任务并将其从作业队列中删除。 不会重新计划以这种方式停止的任务。
  • 等待当前执行的所有任务完成,然后在计算节点上禁用任务计划。
  • 等待所有正在运行的任务完成,并等待所有数据保留期过期,然后在计算节点上禁用任务计划。

示例

示例 1:在计算节点上禁用任务计划

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Disable-AzBatchComputeNodeScheduling -PoolId "myPool" -Id "tvm-1783593343_34-20151117t222514z" -BatchContext $Context

这些命令在计算节点 tvm-1783593343_34-2015117t222514z 上禁用任务计划。 为此,示例中的第一个命令创建对批处理帐户 contosobatchaccount 帐户的帐户密钥的对象引用。 此对象引用存储在名为$context的变量中。 然后,第二个命令使用此对象引用和 Disable-AzBatchComputeNodeScheduling cmdlet 连接到池 myPool,并在节点 tvm-1783593343_34-20151117t222514z 上禁用任务计划。 由于 DisableComputeNodeSchedulingOptions 参数未包含在计算节点上当前运行的任何任务将被重新排队。

示例 2:在池中的所有计算节点上禁用任务计划

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Get-AzBatchComputeNode -PoolId "Pool06"  -BatchContext $Context | Disable-AzBatchComputeNodeScheduling -BatchContext $Context

这些命令在批处理池 Pool06 中的所有计算机节点上禁用任务计划。 若要执行此任务,示例中的第一个命令为批处理帐户 contosobatchaccount 创建对帐户密钥的对象引用。 此对象引用存储在名为$context的变量中。 然后,示例中的第二个命令使用此对象引用和 Get-AzBatchComputeNode 返回 Pool06 中找到的所有计算节点的集合。 然后,该集合通过管道传递到 Disable-AzBatchComputeNodeScheduling cmdlet,以在集合中的每个计算节点上禁用任务计划。 由于 DisableComputeNodeSchedulingOptions 参数不包含当前在计算节点上运行的任何任务,因此将重新排队。

参数

-BatchContext

指定此 cmdlet 用于与 Batch 服务交互的 BatchAccountContext 实例。 如果使用 Get-AzBatchAccount cmdlet 获取 BatchAccountContext,则与 Batch 服务交互时将使用 Azure Active Directory 身份验证。 若要改用共享密钥身份验证,请使用 Get-AzBatchAccountKey cmdlet 来获取填充其访问密钥的 BatchAccountContext 对象。 使用共享密钥身份验证时,默认使用主访问密钥。 若要更改要使用的密钥,请设置 BatchAccountContext.KeyInUse 属性。

Type:BatchAccountContext
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ComputeNode

指定对禁用任务计划计算节点的对象引用。 此对象引用是使用 Get-AzBatchComputeNode cmdlet 创建的,并将返回的计算节点对象存储在变量中。

Type:PSComputeNode
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DisableSchedulingOption

指定此 cmdlet 如何处理当前正在禁用计划的计算机节点上运行的任何任务。 此参数的可接受值为:

  • 重新排队。 任务会立即停止,并返回到作业队列。 这样,任务就可以在另一个计算节点上重新计划。 这是默认值。
  • 终止。 任务会立即停止,并从作业队列中删除。 不会重新计划这些任务。
  • TaskCompletion。 在计算节点上禁用任务计划之前,当前正在运行的任务将能够完成。 不会在此节点上计划新任务。
  • RetainedData。 当前正在运行的任务将能够完成,数据保留期将在计算节点上禁用任务计划之前过期。 不会在此节点上计划新任务。
Type:Nullable<T>[DisableComputeNodeSchedulingOption]
Accepted values:Requeue, Terminate, TaskCompletion
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定禁用任务计划的计算节点的 ID。

Type:String
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-PoolId

指定包含禁用任务计划的计算节点的批处理池的 ID。 如果使用 PoolId 参数,请不要在同一命令中使用 ComputeNode 参数。

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

输入

PSComputeNode

BatchAccountContext

输出

Void