Relevance substitution failed-BigFix

Hi,

I am using below action script for the installation of Crowdstrike but it is giving me below error

Command failed (Relevance substitution failed) wait __Download\WindowsSensor.exe /install /quiet /norestart CID="{parameter "CID"}" GROUPING_TAGS="{parameter "CustomTag"},{parameter "_snSupportGroup"},{parameter "_snChangeJurisdiction"},{parameter "_snUsedFor"},{parameter "_snLocation"},{parameter** "_ISC"}"**
**Command failed (Relevance clauses must be surrounded by { and } guards.) wait __Download\WindowsSensor.exe /install /quiet /norestart CID="{parameter "CID"}" GROUPING_TAGS= "{parameter "CustomTag"},{parameter "_snSupportGroup"},{parameter "_snChangeJurisdiction"},{parameter "_snUsedFor"},{parameter "_snLocation"},{parameter "_ISC"}

Below is the action script

//Downloading Certificate
prefetch ab4e90c692ae3ecc287466ed208abe7a3bdc1999 sha1:ab4e90c692ae3ecc287466ed208abe7a3bdc1999 size:1561 https://abc,.com/bfx/ab4e90c692ae3ecc287466ed208abe7a3bdc1999/Certs.tmp sha256:37690ba0f63ad9fdeff31e23c38e9394d8ccd1a883e33e2f68e39736460bd7f2

//Downloading Binary
prefetch 99629201bb51da3ebfcb503014d67ef6d7b682c4 sha1:99629201bb51da3ebfcb503014d67ef6d7b682c4 size:144374097 https://abc.com/bfx/99629201bb51da3ebfcb503014d67ef6d7b682c4/WindowsSensor.exe.tmp sha256:7a34ea3a9e286993c40dbc26cc753a6d3f20eaa078ff10dd8a73792e2a7ffc59

//Extracting encrypted Binary and Certificate
extract 99629201bb51da3ebfcb503014d67ef6d7b682c4
extract ab4e90c692ae3ecc287466ed208abe7a3bdc1999

//Removing Encrypted Binary and Certificate after extraction
delete __Download\ab4e90c692ae3ecc287466ed208abe7a3bdc1999
delete __Download\99629201bb51da3ebfcb503014d67ef6d7b682c4

//Running Certificate Installation
waithidden cmd.exe /C {(pathname of system folder)}\certutil -addstore -enterprise -f -v root __Download\cscerts\DigiCertAssuredIDRootCA.crt
waithidden cmd.exe /C {(pathname of system folder)}\certutil -addstore -enterprise -f -v root __Download\cscerts\DigiCertHighAssuranceEVRootCA.crt


//Gather ServiceNow parameters for install CID
parameter "_snChangeJurisdiction" = "{(concatenation "_" of substrings separated by " " of it) of (if (exists values of settings "_snChangeJurisdiction" of client) then (value of setting "_snChangeJurisdiction" of client) else "Not_In_SNOW")}"

parameter "_snUsedFor" = "{(concatenation "_" of substrings separated by " " of it) of (if (exists values of settings "_snUsedFor" of client) then (value of setting "_snUsedFor" of client) else "Not_In_SNOW")}"

parameter "_snLocation" = "{(concatenation "_" of substrings separated by " " of it) of (concatenation "" of matches (regex "[^\(\)]") of (if (exists values of settings "_snLocation" of client) then (value of setting "_snLocation" of client) else "Not_In_SNOW"))}"

parameter "_snSupportGroup" = "{(concatenation "_" of substrings separated by " " of it) of (if (exists values of settings "_snSupportGroup" of client) then (value of setting "_snSupportGroup" of client) else "Not_In_SNOW")}"

parameter "_ISC" = "ISC_TEST_SERVER"


//Map CID according to ServiceNow parameters
if {exists (parameter "_snChangeJurisdiction") whose(it as lowercase starts with "corporate") }
	parameter "CID" = "6BD0E709A77247E19C0110BEA35B9328-70"
	parameter "CustomTag" = "Corporate"

elseif { exists (parameter "_snChangeJurisdiction") whose(it as lowercase starts with "wdpr" OR it as lowercase = "consumer products") OR exists (setting "_snSupportGroup3" of client) whose(value of it as lowercase = "prd-intl-dpepinf") }
	parameter "CID" = "BB1ED30BE0B44B3BA40A931C5360B1BA-B4"
	parameter "CustomTag" = "DPEP"

elseif {exists parameter "_snChangeJurisdiction" whose(it as lowercase contains "de&e")}
	parameter "CID" = "23354F3D1D204625A60C0E49A7026265"
	parameter "CustomTag" = "DEET"
endif


//Install binary using the configurations defined by the CID.  Grouping Tags are assigned to the install.
wait __Download\WindowsSensor.exe /install /quiet /norestart CID="{parameter "CID"}" GROUPING_TAGS="{parameter "CustomTag"},{parameter "_snSupportGroup"},{parameter "_snChangeJurisdiction"},{parameter "_snUsedFor"},{parameter "_snLocation"},{parameter "_ISC"}"

//Deleting Binary after Installation
delete __Download\WindowsSensor.exe

//Deleting Certificates after Installation
folder delete __Download\Certs

Do any of your parameters have curly brackets ({ or })?

Looks like “{parameter “_ISC”}” may have. If so, I think adding a { to the beginning would fix it.

{{parameter “_ISC”}

Yes all the parameters have curly brackets {}

wait __Download\WindowsSensor.exe /install /quiet /norestart CID="{parameter “CID”}" GROUPING_TAGS="{parameter “CustomTag”},{parameter “_snSupportGroup”},{parameter “_snChangeJurisdiction”},{parameter “_snUsedFor”},{parameter “_snLocation”},{parameter “_ISC”}"

Let me clarify, do any of the parameters values, have a curly.

Such as…

{parameter “{4D522CF3467A7349245776F95069-D}}

If so you will need to escape it with a {

I think this will work but I have no way to test it.
{parameter {“_ISC”}

What is the value of “_ISC”?

Here is a tip about escaping these brackets.

parameter “_ISC” = “ISC_TEST_SERVER”

This tells us a value with a curly bracket is not being escaped.

Another possibility …

parameter "CID" = "23354F3D1D204625A60C0E49A7026265"
parameter "CustomTag" = "DEET"

These two parameters are only assigned values in a set of if/elseif statements…if your system does not match any of those conditions, these two parameters will not be set and the command line will fail when you reference these parameters. You might consider adding an ‘else’ to the end of your conditions to assign a default value like

else 
    parameter "CID" = "NONE"
	parameter "CustomTag" = "DEFAULT_TAG"
endif

You are correct and the issue got fixed. Thanks

1 Like