Hi F51982,
assuming that
session.ad.last.attr.sAMAccountName
is set to
DOMAIN\bob
the following result can be expected.
mcget {session.ad.last.attr.sAMAccountName} = DOMAIN\bob
string tolower [mcget {session.ad.last.attr.sAMAccountName}] = domain\bob
expr { [mcget {session.ad.last.attr.sAMAccountName}] } = DOMAIN\bob
expr { [string tolower [mcget {session.ad.last.attr.sAMAccountName}]] } = domain\bob
return [mcget {session.ad.last.attr.sAMAccountName}] = DOMAIN\bob
return [string tolower [mcget {session.ad.last.attr.sAMAccountName}]] = domain\bob
The difference of using a native
command
,
expr { [command] }
or
return [command]
is non-existent if you just fetch an existing variable while passing it to a new variable.
Only the advanced variable assign actions are making the difference between those commands.
Example1:
expr { ( [mcget {session.ad.last.attr.sAMAccountName}] contains "domain\bob" ) or ( [mcget {session.ad.last.attr.sAMAccountName}] contains "domain\tom" ) }
Result: The above example will return the value 1
if bob or tom is loggin in and 0
for everyone else.
Example2:
if { ( [mcget {session.ad.last.attr.sAMAccountName}] contains "domain\bob" ) or ( [mcget {session.ad.last.attr.sAMAccountName}] contains "domain\tom" ) } then {
return a ;
} else {
return b ;
} ;
Result: The above example will return the value a
if bob or tom is loggin in and b
for everyone else.
Example3:
set user [mcget {session.ad.last.attr.sAMAccountName}] ;
if { $user starts_with "DOMAIN\\" } then {
return "DOMAIN2\\[lindex [split $user "\\"] 1]" ;
} else {
return $user ;
} ;
Result: The above example will return the sAMAccountName
while rewriting DOMAIN\
to DOMAIN2\
.
Cheers, Kai