Compound boolean condition in ISE?

Hello
In ISE I have to define a complex condition as a requirement for an authorization policy. Like this:
(member of group X) AND ((wlan id 1) or (wlan id 2))
Can this be done? I can see that I can enter multiple conditions but there is only one AND/OR dropdown for the entire window which will give me either "x AND y AND z" or "x OR y OR z".
what am I missing?
Best regards
Jimmy Larsson
Sent from Cisco Technical Support iPad App

I ran into the same issue. I fixed this, but I hope someone has a better idea, as follows:
In Policy Elements > Conditions:
- create a Authorization compound condition A with Expression 1 OR Expression 2
- create a Authorization compound condition B with Expression 3 OR Expression 4
(I have not found a way to use a compound condition in another compound condition)
Create the Authorization Policy with Condition A AND Condition B.
Of course you can also do this the other way around.
Hope this helps.

Similar Messages

  • Compound boolean logic scripting

    Greetings!  I would like to pick everyone's brains for how one might implement compound boolean logic scripting in LabVIEW ... specifically LabVIEW-RT.
    My application is an in-vehicle data acquistion and logging setup.  The app is setup so that the user provides a configuration file which is the list of channels (GPS, DAQ, CAN) that they wish to record...so this means there isn't any hard coded variable but an array of clusters built from the configuration file.
    A mode of operation is a 'trigger' mode, which means the logger doesn't record anything until a trigger has occured.  Currently the user provides a simple comparator (0=lessthan, 1=equalto, 2=greaterthan, else=none), and the trigger value.
    The users want to be able do compound conditions like PARAMETER <= x OR Parameter >= y ... possiblly even between 2 different data points like PARAMETER_A <= x AND PARAMETER_B >=y.
    Any comment, hints, tips, suggestions ?
    Thanks!
    Jason Stallard

    Jason,
    It's interesting how often the problem of text-based scripting to drive LV pops up.
    I had a problem with similar properties: given a set of data and an
    arbitrary set of rules, substitute data into each rule and see if it
    evaluates to true or false.  This is used to provide directions
    from engineers to operators on how to perform failure analysis and
    recovery, without the engineer needing to be present.
    The problem that I ran into turns out to not be in evaluating the data
    and rules, but in parsing the arbitrary input equation.  There
    just isn't any general way inherent to LV to parse an arbitrary text
    language into an intermediate form (like a postfix expression or an
    abstract syntax tree).  A relative lack of recursion makes it a
    little more painful as well.
    I can't release my code, but it essentially had three parts:
    1.  In a given rule in infix form (variableA<7, for instance),
    perform macro replacement.  Essentially, substitute values for
    variable names, perform file lookups, etc.
    2.  Transform the substituted infix equation into a much easier to
    deal with postfix equation.  (Thanks to Mike Porter for this
    suggestion as well).  This step can be non-trivial.  I'm
    currently building an editor that will build equations more easily,
    sparing my engineers much pain.
    3.  Evaluate the postfix equation for a single true/false
    result.  This algorithm should be available in many books, but I
    adapted the one from an earlier version of this book:
    http://www.amazon.com/gp/product/0201702975/qid=11​37608429/sr=2-3/ref=pd_bbs_b_2_3/103-3337903-13870​46?s=books&v=glance&n=283155
    It also contains a short description of a stack-based parser that's fairly easy to implement for step 2.
    Anyway, there's my 2 cents.  Maybe someday I'll find time to write
    that LV based parser generator to "simplify" all of this   Good
    luck!
    Joe Z.

  • Boolean Condition on a Tab Not Working

    Hello!
    I have a tab that should only appear if a record is in the database. I'm using a 'PL/SQL Function Body Returning a Boolean' condition with the following:
    DECLARE
    t1 varchar2(20);
    BEGIN
    select GROUP into t1 from pl_department where userid = :APP_USER;
    if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
    return false;
    else
    return true;
    end if;
    END;
    If no data is found in the database, i get an error at the top of my page 'Invalid function body condition: ORA-01403: no data found'.
    As you can see I tried to check for 4 different possible values but nothing is working.
    Any ideas on what else I can try?
    Thank you!
    T
    Edited by: 73pixieGirl on Dec 16, 2008 6:34 AM

    Hello,
    You can better use the condition Exists (SQL Query returns at least one row)
    In expression 1 you would put : select GROUP from pl_department where userid = :APP_USER;
    The problem you are facing is that your code is going into exception. If you really want to keep your code you can adapt it like:
    DECLARE
    t1 varchar2(20);
    BEGIN
    select GROUP into t1 from pl_department where userid = :APP_USER;
    if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
    return false;
    else
    return true;
    end if;
    EXCEPTION WHEN NO_DATA_FOUND THEN return false;
    END;
    But I would recommend my first suggestion.
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.apex-evangelists.com/
    http://www.apexblogs.info/
    REWARDS: Please remember to mark helpful or correct posts on the forum

  • Boolean Condition Expressions

    Unlike Condition Formats, Paragraphs, etc., Boolean Condition Expressions are apparently not stored in a linked list. In ExtendScript, you can get a list of the Expression names with this:
    var doc = app.ActiveDoc;
    var exprCat = doc.GetBuildExprCatalog();
    This gives you an array of strings containing the Expression names. I am not sure what the FrameScript or FDK equivalents are, but I assume there is a way to do this.
    Once you have the list, you can get each definition by doing this:
    for (var i = 0; i < exprCat.length; i += 1) {
        var expr = doc.GetBuildExpr (exprCat[i]);
        Console ("Name: " + exprCat[i] + " Definition: " + expr);
    I hope this will helpful to someone in the future. Please let me know if you have any questions or comments. Thank you very much.
    Rick

    Hello,
    You can better use the condition Exists (SQL Query returns at least one row)
    In expression 1 you would put : select GROUP from pl_department where userid = :APP_USER;
    The problem you are facing is that your code is going into exception. If you really want to keep your code you can adapt it like:
    DECLARE
    t1 varchar2(20);
    BEGIN
    select GROUP into t1 from pl_department where userid = :APP_USER;
    if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
    return false;
    else
    return true;
    end if;
    EXCEPTION WHEN NO_DATA_FOUND THEN return false;
    END;
    But I would recommend my first suggestion.
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.apex-evangelists.com/
    http://www.apexblogs.info/
    REWARDS: Please remember to mark helpful or correct posts on the forum

  • In our program, we are concerned about reducing CPU work; how to wait until a boolean condition changes in a "while loop"?

    Is there a way to wait until a boolean condition changes (instruction is sent) in a "while loop" (because I want the program run until I press exit button)? Now it is consuming a lot of CPU because it is running the loop very fast waiting for instructions unless I stop the program.
    Thank you.

    Use /functions/time and dialog/wait until next millisecond multiple in the
    loop. Input 100ms.
    "mcdesm" wrote in message
    news:[email protected]..
    > In our program, we are concerned about reducing CPU work; how to wait
    > until a boolean condition changes in a "while loop"?
    >
    > Is there a way to wait until a boolean condition changes (instruction
    > is sent) in a "while loop" (because I want the program run until I
    > press exit button)? Now it is consuming a lot of CPU because it is
    > running the loop very fast waiting for instructions unless I stop the
    > program.
    >
    > Thank you.

  • Is there a way to 'latch' a boolean condition when using local variables? Help!

    Hello all
    I've made LOTS of progress on my vi over the weekend and even today.  I've been battling with a project with this scope:
    1.  Read temperatures from 24 locations (6 banks of four thermocouples).
    2.  Set individual channel temperature upper limits
    3.  Output temperatures, elapsed time and time stamp to file in 5 minute increments AND write data when an overtemperature condition occurs.
    4.  Use NI-switch to shut off a motor related to each of the 6 banks of thermocouples independently
    5.  Be able to start/stop elapsed timers on each of the 6 banks based on user input (start/pause) OR conditions (pause at overtemperature)
    6.  Be able to reset those elapsed timers with user input as well.
    I've gotten 1-4 working nicely (although my example included has the DAQ assistant replaced with random number generation) and the NI-switch cases replaced with a simple boolean indicator.
    My problems lie in two areas now.  First, I need the switch condition AND the 'pause time' to be 'latched' when an overtemperature is reached and NOT continue operation until user input.  Basically, when the motor relay is triggered to shut the motor off, I need the timer to stop with it and not restart when the input condition changes (in this case, when the thermocouple drops below the control temperature) until an operator tells it to resume.  I also need the switch condition to stay true so that my 1160 isn't switching back and forth every iteration until the temperature drops.
    You'll notice there's 5 'elapsed time' express VI's in conditional loops on there--and one time structure in a parallel while loop.  The outside structure is the way I'm heading as it retains the value in the elapsed timer when paused.  This is critical to the test!  All 5 of those elapsed time express VI's will be leaving in favor of more of those outside loop structures.  My issue with the outside timing loop structure is that I can't figure out how to 'reset to zero' with a user input like you can with the express VI's, and that it outputs only ms data rather than a HH:MMS format (not a complete deal breaker but would be nice).
    Please, anyone in the know, I need to button this up so I can get it implemented soon.  My old VI which is currently running the tests is far too user-unfriendly for most of the users to handle and the output to file is a wreck...  THANKS so much in advance.
    Ralph
    Still confused after 8 years.
    Attachments:
    temperatures.vi ‏730 KB

    I've looked up the enum constant and am completely baffled as to how to use this to do what I'm trying.  Can you shed a bit more light on the subject?
    Still confused after 8 years.

  • How to manipulate arrays using case statements and boolean conditions?

    In the vi that is attached I am trying to compare two values in two different arrays and delete the value that is equal to zero.  The values of each array are rounded to the closest integer.  Then I attempted to apply the ">0" boolean as the condition for my case statement, but I am getting an error.  Any tips on manipulating arrays with case statements?
    Attachments:
    Patient Movement Monitoring.vi ‏141 KB

    Thank you!!! that was a huge help. I don't think I need the case structures at all.  The next part of the code compares the 4 values in the array. 
    If columns 0 and 1 are both positive -> output 1
    If column 0 is negative and 1 is positive -> output 2
    If columns 0 and 1 are both negative -> output 3
    If column 0 is positive and 1 is negative -> output 4
    (0 is x-axis value, 1 is y-axis value.....outputs are assigning quadrants to the combination)
    Only one of the "AND" booleans will return true for each index.  Is there a way to initialize another array of outputs 1-4 depending on which AND returns true?
    Attachments:
    Patient Movement Monitoring.vi ‏144 KB

  • Record time when boolean condition is true

    Is it possible to record the time when a boolean expression is true, i.e if an =0 condition was placed on an AC signal, would it be possible to record the times when the wave crossed 0.
    I expected this part of my overall problem the easiest, but im simply not getting anywhere
    Thanks

    Thanks for looking at my problem,
    The real problem is to do with an engine crank sensor (Variable reluctance). When the sensor is placed on a toothed wheel (12 - 3 teeth), the sensor produces a sinusoidal like wave, with a gap 25% of the time. Teeth can be found on the wave as V=0 and dv/dt<0. The gap will then be used as  a ref point.
    My eventual intentions are to monitor the signal from the engine and calculate the angle of the shaft by looking at gap times between wave cycles. Before i use the real sensor i intend to fully simulate everything.
    I now have an approximate simulation of the crank signal. i have attatched it.
    I expected the =0 part not to work for the reason you stated but was unsure how to get around that. So, I thought i would produce a square wave first when dv/dt<0 and when -0.1<v<0.1. I was then hoping there would be a rising edge trigger tool that could give me times of these rising edges of the square wave so that i could record them in a table, but i cant find/think of a way to do this.
    After i have a way of doing this i will compare gaps between teeth to find the ref tooth. After it is found i will increment a tooth counter everytime a tooth passes, and from there estimate angle of crankshaft.
    As for how many teeth times need to recorded, i think 3 only. The last three teeth passing the sesnor will allow me to find 2 gaps bewteen teeth times which will allow me to find the wheels gap. I can use times between teeth to estimate a time per degree figure which is then used to increment an angle counter.
    Any help is much appreciated i know there will be an easyish way of doing this, i just cant find it.
    Attachments:
    wheel.vi ‏664 KB

  • Executing a boolean condition stored in component variable

    Hi there everyone (posted this earlier on my browser but
    didn't seem to come
    thru, so apologies if this appears twice)
    I have created a component variable called booleanCondition
    which contains
    an expression like (a || b)
    I would then like to perform a conditional statement like:
    a=0;
    b=1;
    if (booleanCondition == true){
    //execute code
    but i don't seem to be able to get Flash to execute the
    contents of the
    variable...it is just saying booleanCondition is holding (a
    || b)
    Can anyone save me from my nightmare!!!
    Cheers
    Adam :)

    booleanCondition would have to be a function which returned
    the result of a
    || b
    function booleanCondition(){
    return Boolean(a || b);
    if (booleanCondition() == true){
    //execute code
    "Adam West" <[email protected]> wrote in message
    news:f2h8kt$eok$[email protected]..
    > Hi there everyone (posted this earlier on my browser but
    didn't seem to
    > come thru, so apologies if this appears twice)
    >
    > I have created a component variable called
    booleanCondition which contains
    > an expression like (a || b)
    >
    > I would then like to perform a conditional statement
    like:
    >
    > a=0;
    > b=1;
    > if (booleanCondition == true){
    > //execute code
    > }
    >
    > but i don't seem to be able to get Flash to execute the
    contents of the
    > variable...it is just saying booleanCondition is holding
    (a || b)
    >
    > Can anyone save me from my nightmare!!!
    >
    > Cheers
    >
    > Adam :)
    >

  • Mifwash loses names of boolean conditional expression

    (FM10 on Win7x64)
    Before a mifwash, boolean expressions for conditional tags are named as: Name1, Name2, Name3.
    After the mifwash, those expressions are named Default Expression, Default Expression1 and Default Expression2.
    A quick check of the mif file shows Name1, Name2, Name3, not Default Expression, Default Expression1 or , Default Expression2.
    What am I missing?

    More detail:  the mif contains the correct names of the conditional expressions: Name1, Name2 and Name3.
    And the mif does not contain Default Expression, Default Expression1 or Default Expression2.
    Doh!
    Edit:  FM11 behaves as expected. The names of the boolean expressions in the MIF appear in the GUI and "Default Expression" does not appear.
    Now I gotta considering upgrading to FM11.

  • Inverse on boolean condition

    i mam new to labview and have come across a problem i cannot workout;
    I require an inversion of boolean state on one line when the boolean state changes from false to true on another line.
    Context: Voice triggered headlights (where other elements also have an effect on the headlights) the headlight turns ON/OFF upon the recognition of a voice command.

    Hello rkstokes,
    that example should do it...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    Trigger.vi ‏20 KB

  • ISE: How to configure a policy to check if a users is in AD OR in local ?

    Hello,
    With ACS 5, I could do an authorization policy that checks if a user is in a specific AD group or if it is in a specific group locally in the ACS.
    For example:
    (AD-AD1:ExternalGroups contains any LANSwitchAdmins Or Internal Users:UserIdentityGroup in All Groups:Level 15)
    In ISE, I don't know how to do that because I am creating an authorization rule as follows:
    - Device:DeviceType Equals All Devices#Switches AND
    - AD1:ExternalGroups Equals LANSwitchAdmins
    I would like to be able to add a rule : OR
    - Internal Users:UserIdentityGroup in All Groups:Level 15
    But I cannot because the UI only allows to have only AND or only OR, without being able to change that...
    Any clue ?
    Best regards,
    David

    Hi,
    The real way to get this to work is to use a compound authorizatoin condition where you can select the OR for AD or identity user group name, however I have not had any luck making this work even on ISE 1.1.4.
    basically I was in the same situation as you where I had to build two different policies to make this work.
    May want to open a TAC case since I am sure there is a bug on this but I havent had a chance to dig into this issue.
    Tarik Admani
    *Please rate helpful posts*

  • Using identy Group as condition

    Hi ,
    I wanna create a authorization Policy using two identity Group as condition . But i juste heve "OR " as operator for those two condition !!I wanna i use operator and is this Possible ???

    Configuring Policy Elements Conditions
    Cisco ISE provides a way to create conditions that are individual, reusable policy elements that can be referred from other rule-based policies. Whenever a policy is being evaluated, the conditions that comprise it are evaluated first.
    Under Policy > Policy Elements > Conditions, the initial Conditions pane displays the following policy
    element condition options: Authentication, Authorization, Profiling, Posture, Guest, and Common.
    Simple Conditions
    Simple Condition Format
    This type uses the form attribute operand value. Rule-based conditions are essentially a comparison of values (the attribute with its value), and these can be saved and reused in other rule-based policies. Simple conditions take the format of A operand B, where A can be any attribute from a Cisco ISE dictionary and B can be one of the values that attribute A can take.
    Compound Conditions
    Compound Condition Format
    Authorization policies can contain conditional requirements that combine one or more identity groups using a compound condition that includes authorization checks that can return one or more authorization profiles. This condition type comprises one or more simple conditions that use an AND or OR relationship. These are built on top of simple conditions and can be saved and reused in other rule-based policies. Compound Conditions can take any of the following forms:
    • (X operand Y) AND (A operand B) AND (X operand Z) AND ... (so on)
    • (X operand Y) OR (A operand B) OR (X operand Z) OR ... (so on)
    (*Where X and A are attributes from the Cisco ISE dictionary and can include username and device type.
    For example, compound conditions can take the following form:
    – DEVICE: Model Name Matches Catalyst6K AND Network Access: Use Case Equals Host
    Lookup.)
    Creating New Authorization Policy Element Conditions
    Use this procedure to create new authorization policy element conditions (simple or compound).
    To create new authorization policy element conditions, complete the following steps:
    Step 1 Click Policy > Policy Elements> Conditions > Authorization> Simple Conditions (or Compound
    Conditions).
    The Conditions page appears listing all existing configured authorization policy element conditions.
    Step 2 To create a new simple condition, click Create.
    The Simple Conditions page displays.
    Step 3 Enter values in the following fields to define a new simple condition:
    • Name—Enter the name of the simple condition.
    • Description—Enter the description of the simple condition.
    • Attribute—Click to choose a dictionary from the drop-down list of dictionary options, and choose an
    attribute from the corresponding attribute choices.
    • Operator—Enter Equals or Not Equals.
    • Value—Enter a value that matches the selected attribute.
    Step 4 Click Submit to save your changes to the Cisco ISE database and create this authorization condition.
    The Name, Attribute, Operator, and Value fields in simple conditions are required and are marked with an asterisk (*).
    For Complete Reference visit:
    http://www.cisco.com/en/US/docs/security/ise/1.0/user_guide/ise10_authz_polprfls.pdf

  • Is there a way of passing a mixed cluster of numbers and booleans to teststand

    Hi,
    I have a labview VI that contains an output cluster containing both numeric and boolean results and would like to pass this to Teststand. At the moment I have coverted all my boolean results to  '1/0'  so that I can create a numeric array and can quite easily pass this to Teststand (using multiple numeric limit test). 
    Is there a way to pass mixed results to Teststand and write in the limits (example PASS and GT 5V) or do I have to stick with what I have?
    Chris

    Which test step type to use depends on what you have to analyze - a boolean condition? String? Number(s)? I can't tell you because I don't know what's in your cluster. If you click on the plus sign next to the parameter name "output cluster" you will see all paramters and their types, which are passed from the VI to TestStand.
    You can either create a variable for the whole cluster, or you can assign all or just some values from within the cluster to variables.
    The name of the variable (Locals.xxxxxxx... or FileGlobals.xxxxx...) ist what you type in the value field. You can also choose the variable from the expression browser by clicking on the f(x) button.
    Are you new to TestStand, do you know how to work with variables in TS?
    Maybe the attached picture gives you an example, there I am assigning the values from VI output "VoltageOutputArray" to the TS variable locals.VoltageMeasurement.
    This variable ist used again on the tab "Data Source" as the Data Source Expression.
    Regards,
    gedi
    Attachments:
    stepsettings.jpg ‏89 KB

  • Filter Dataset based on a boolean value

    Hi,
    I have implemented a multivalued filter in SSRS,which works fine . Now I am trying to set up a second filter such that based on a boolean condition i would like to filter the dataset based on  a series of values.
    The boolean parameter is accomplished as :
    If the user selects "True" the dataset field "Location" has to be filtered based on 3 values "NY,NJ,DC" . If False is selected no filter will be applied on the dataset . The Parameter name is 'Param_Loc' and of datatype 'Integer'
    Can you help me with the Filter expression i have to use here : 
    Looking forward to hearing from you .
    Thanks,
    Grigory

    Hi Mendel,
    Try this once
    Go to Filters in dataset properties-> then in the filter expression do the following stuff
    Expression =Select the value from the dataset,In ur  case it is
    "Location"
    Select Type = "Text"
    Operator = "in"
    Value = IIF(Parameters!Param_Loc.Value=True,"NY,NJ,DC",Fields!Location.Value)
    In the above IIF condition what I am doing is passing the filter values if condition is True i.e if Param_Loc is selected .If Param_Loc value is not selected i.e False then u don't want to apply any filter right.So I am passing all the dataset
    values in else condition.since 1=1 is universal Truth.
    Please let me know if any issues and vote this answer if it helps u.
    Kishore Babu K
    Thanks Kishore and Visakh . Your inputs were really helpful . Kudos to you guys .
    There was a slight issue with the expression  . So i modified it as :
    IIF(Parameters!Param_Loc.Value="1",Split("NY,NJ,DC",","),Fields!Location.Value)
    Thanks a lot,
    Grigory

Maybe you are looking for

  • Time Machine encryption - after restart, drive won't mount

    Hi all. I enabled Time Machine on my Drobo drive, enabling encryption. All was good, Time Machine started encrypting away. I restarted my Mac, and now my Drobo won't mount. In Disk Utility, it looks like this: I'm unable to verify, repair or mount th

  • How do I decrease a movie's file size in imovie

    I need to upload a video to a website but the movie is 119mb and the website will only allow 40mb maximum.  How do I decrease the file size so I can upload it?

  • How to customize yAxis of ADF bar: dvt:barGraph

    Hi buddies, I met a problem on designing dashboard these days. Now the values of yAxis is not fixed, it usually displays "0,0,1,2,2,3,4,4,4..." I don't want it displays like that, it should be "0,1,2,3,4,..." any one knows how to customize it? Thanks

  • RS MMC 2Go for Nokia N72

    Hello, Is it Ok a RS MMC 2Go for Nokia N72 ? Thks

  • In Serious need of IPOD HELP

    Dear other frustrated ipod users, I sit with the following dilema: I have a Classic 160gb that refused to load more than 3267 songs, I have tried all your advise on various forums all over the world to sort this out but am stuck. My ipod no longer is