Samples/AssignJobToGroup.ps1
|
# This script demonstrates how to assign an existing job to the endpoints in an existing logical group. $ErrorActionPreference = "Stop" $InformationPreference = "Continue" # --- Configuration --- # Names are assumed to be unique $logicalGroupName = "YourLogicalGroup" $jobName = "Your job name" try { # Get the logical group object. Using Select-bCPageData simplifies retrieving the single item. $logicalGroup = Get-bCEndpointsLogicalGroups -Name $logicalGroupName | Select-bCPageData $logicalGroupID = $logicalGroup.id Write-Information "Found logical group '$($logicalGroup.name)' with ID: $logicalGroupID" # Get the job definition object. $jobDefinition = Get-bCJobsJobDefinitions -Name $jobName | Select-bCPageData $jobDefinitionId = $jobDefinition.id Write-Information "Found job definition '$($jobDefinition.name)' with ID: $jobDefinitionId" # Create a request object that defines which job to assign and how to handle it. # - jobDefinitionId: Specifies the job to be assigned. # - startIfAlreadyAssigned: If true, the job will be restarted on endpoints where it is already assigned. $jobDefinitionRequest = @{ jobDefinitionId = $jobDefinitionId startIfAlreadyAssigned = $true } # Assign the job to the logical group by invoking the corresponding action. Invoke-bCJobsAssignJobDefinitionToLogicalGroup -LogicalGroupId $logicalGroupID -AssignJobDefinitionRequest $jobDefinitionRequest Write-Output "Successfully assigned job '$jobName' to logical group '$logicalGroupName'." } catch { Write-Error "An error occurred: $($_.Exception.Message):`n$($_.ScriptStackTrace)" } |