Hi @Nandan Hegde ,
here the following code works as expected and it doesn't matter if its [array]$x or just $x:
[array]$x = @'
WaitTimeInSeconds : 1
AdditionalProperties : {[typeProperties, {
"waitTimeInSeconds": 1
}]}
Name : Wait1
Description :
DependsOn : {}
UserProperties : {}
VariableName : dummy
Value : {value, type}
AdditionalProperties : {[typeProperties, {
"variableName": "dummy",
"value": {
"value": "@pipeline().parameters.Test",
"type": "Expression"
}
}]}
Name : Set variable1
Description :
DependsOn : {Microsoft.Azure.Management.DataFactory.Models.ActivityDependency}
UserProperties : {}
IsSequential :
BatchCount :
Items : Microsoft.Azure.Management.DataFactory.Models.Expression
Activities : {Wait2, Wait3, If Condition2}
AdditionalProperties : {[typeProperties, {
"items": {
"value": "2",
"type": "Expression"
},
"activities": [
{
"name": "Wait2",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait3",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait2",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "If Condition2",
"type": "IfCondition",
"dependsOn": [
{
"activity": "Wait3",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"expression": {
"value": "@equals(pipeline().parameters.Test,'1')",
"type": "Expression"
},
"ifFalseActivities": [
{
"name": "Wait10",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait11",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait10",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
],
"ifTrueActivities": [
{
"name": "Wait8",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait9",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait8",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
}
]
}]}
Name : ForEach1
Description :
DependsOn : {Microsoft.Azure.Management.DataFactory.Models.ActivityDependency}
UserProperties : {}
Expression : Microsoft.Azure.Management.DataFactory.Models.Expression
IfTrueActivities : {Wait4, Wait6}
IfFalseActivities : {Wait5, Wait7}
AdditionalProperties : {[typeProperties, {
"expression": {
"value": "@equals(pipeline().parameters.Test,'1')",
"type": "Expression"
},
"ifFalseActivities": [
{
"name": "Wait5",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait7",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait5",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
],
"ifTrueActivities": [
{
"name": "Wait4",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait6",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait4",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}]}
Name : If Condition1
Description :
DependsOn : {Microsoft.Azure.Management.DataFactory.Models.ActivityDependency}
UserProperties : {}
On : Microsoft.Azure.Management.DataFactory.Models.Expression
Cases : {Microsoft.Azure.Management.DataFactory.Models.SwitchCase}
DefaultActivities : {Wait12}
AdditionalProperties : {[typeProperties, {
"on": {
"value": "@pipeline().parameters.Test",
"type": "Expression"
},
"cases": [
{
"value": "Case1",
"activities": [
{
"name": "Wait13",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
],
"defaultActivities": [
{
"name": "Wait12",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}]}
Name : Switch1
Description :
DependsOn : {Microsoft.Azure.Management.DataFactory.Models.ActivityDependency}
UserProperties : {}
'@
$x.GetType()
$RegexPattern='"name": "(.*?)",'
[array]$InnerActivities = ([regex]::Matches(($x),$RegexPattern).groups|Where-Object Name -EQ '1').Value
$InnerActivities
Result looks like this:
Where do you specify the $RegexPattern in your script?
----------
(If the reply was helpful please don't forget to upvote and/or accept as answer, thank you)
Regards
Andreas Baumgarten