你当前正在访问 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-20151117t222514z 上禁用任务计划。 为此,示例中的第一个命令为批处理帐户 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
这些命令在批处理池池06 中的所有计算机节点上禁用任务计划。 若要执行此任务,示例中的第一个命令将创建对批处理帐户 contosobatchaccount 帐户的帐户密钥的对象引用。 此对象引用存储在名为$context的变量中。 然后,示例中的第二个命令使用此对象引用并 Get-AzBatchComputeNode 返回 Pool06 中找到的所有计算节点的集合。 然后,该集合通过管道传递给然后 Disable-AzBatchComputeNodeScheduling cmdlet 来禁用集合中每个计算节点上的任务计划。 由于 DisableComputeNodeSchedulingOptions 参数不包含当前在计算节点上运行的任何任务将重新排队。
参数
-BatchContext
指定此 cmdlet 用于与 Batch 服务交互的 BatchAccountContext 实例。 如果使用 Get-AzBatchAccount cmdlet 获取 BatchAccountContext,则在与 Batch 服务交互时将使用Microsoft Entra 身份验证。 若要改用共享密钥身份验证,请使用 Get-AzBatchAccountKey cmdlet 获取填充其访问密钥的 BatchAccountContext 对象。 使用共享密钥身份验证时,默认使用主访问密钥。 若要更改要使用的密钥,请设置 BatchAccountContext.KeyInUse 属性。
类型: | BatchAccountContext |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ComputeNode
指定对禁用任务计划计算节点的对象引用。 此对象引用是使用 Get-AzBatchComputeNode cmdlet 创建的,并将返回的计算节点对象存储在变量中。
类型: | PSComputeNode |
Position: | 0 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableSchedulingOption
指定此 cmdlet 如何处理当前正在禁用计划的计算机节点上运行的任何任务。 此参数的可接受值为:
- 重新排队。 任务会立即停止,并返回到作业队列。 这样就可以在另一个计算节点上重新计划任务。 这是默认值。
- 终止。 任务会立即停止,并从作业队列中删除。 不会重新安排这些任务。
- TaskCompletion。 在计算节点上禁用任务计划之前,当前正在运行的任务将能够完成。 不会在此节点上计划新任务。
- RetainedData。 当前正在运行的任务将能够完成,数据保留期将在计算节点上禁用任务计划之前过期。 不会在此节点上计划新任务。
类型: | Nullable<T>[DisableComputeNodeSchedulingOption] |
接受的值: | Requeue, Terminate, TaskCompletion |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Id
指定禁用任务计划的计算节点的 ID。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-PoolId
指定包含禁用任务计划的计算节点的批处理池的 ID。 如果使用 PoolId 参数,请不要在同一命令中使用 ComputeNode 参数。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |