home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 February / CHIPCD_02_2002.iso / Internet / Macromedia ColdFusion Server 5 / coldfusion-50-win-us.exe / data1.cab / Program_Files / BIN / export45.cfm (.txt) < prev    next >
Encoding:
ColdFusion Encrypted Template  |  2001-06-13  |  18.6 KB  |  386 lines

  1. <!--- get the exportfile name for a CGI variable 
  2.       "exportfile=full_path_name"
  3. --->
  4. <CFSET SmBranch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion">
  5. <cfregistry action="SET" branch="#SmBranch#" entry="SmExportCompleted" type="String" value="0">
  6.  
  7. <cfset PolicyFile="#exportfile#">
  8. <cfset INIFILE="#inifile#">
  9. <cfset LOGFILE=#replace(#PolicyFile#,".xml","_xml.log")#>
  10.  
  11. <!--- check siteminder password ---->
  12. <!--- <CFSET PASSWORD_KEY = "4p0L@r1$">
  13. <CFSET EcryptedPassword = cfusion_Encrypt( #password#, PASSWORD_KEY )>
  14. <CFREGISTRY ACTION=GET
  15.             Branch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Server"
  16.             Entry="SecurityServerAdminPasswd"
  17.             Variable="AdminPassword">
  18.         <CFPARAM Name="AdminPassword" Default="NoPasswordRegistered">
  19. <CFIF CompareNoCase( EcryptedPassword, AdminPassword) IS NOT 0>
  20.         <!--- The password is missing or invalid. --->
  21.             <cfoutput>Password Invalid or not entered!!</cfoutput>
  22.             <CFABORT>
  23.         </CFIF>     --->
  24.  
  25. <!--- <userdirectory> --->
  26. <CFTRY>    
  27.     <!--- Get user directory names names --->
  28. <CFFILE ACTION="Write"
  29.     FILE="#PolicyFile#"
  30.     OUTPUT="<policystore>">
  31. <CFFILE ACTION="Write" FILE="#LOGFILE#" OUTPUT="Extracting Policy Store...
  32.     ">    
  33. <CFCATCH TYPE="Any">
  34.     <CFFILE ACTION="Write" FILE="#LOGFILE#" OUTPUT="Unable to write to #PolicyFile#">
  35. </CFCATCH>    
  36. </CFTRY>    
  37.  
  38. <CFTRY>    
  39. <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORY QUERY=UserDirectories>
  40. <CFFILE ACTION="Append"
  41.     FILE="#PolicyFile#"
  42.     OUTPUT="<userdirectories>">
  43.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  44.     USERDIRECTORIES
  45.     ">    
  46.     
  47.     <!--- Get descriptions --->
  48.     <CFLOOP Query="UserDirectories">
  49.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Extracting userdirectory #UserDirectories.Name# ...">
  50.     <CFTRY>
  51.         <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORY QUERY=UserDirectory NAME=#UserDirectories.Name# >
  52.     <CFFILE ACTION="Append"
  53.     FILE="#PolicyFile#"
  54.     OUTPUT="<userdir>
  55.         <name>#UserDirectories.Name#</name>
  56.          <desc>#UserDirectory.description#</desc>
  57.         <server>#UserDirectory.server#</server>
  58.         <username>#UserDirectory.UserName#</username>
  59.         <password>#UserDirectory.Password#</password>
  60.         <secureconn>#UserDirectory.secureconnect#</secureconn>
  61.         <namespace>">
  62.         <CFSET NameSpace    = UserDirectory.type> 
  63.     <CFIF NameSpace IS 'LDAP:'>
  64.         <CFFILE ACTION="Append"
  65.         FILE="#PolicyFile#"
  66.             OUTPUT="        <name>LDAP</name>
  67.             <SearchRoot>#UserDirectory.search_root#</SearchRoot> 
  68.             <LookupStart><![CDATA[#UserDirectory.lookup_start#]]></LookupStart>
  69.             <LookupEnd>#UserDirectory.lookup_end#</LookupEnd>
  70.             <SearchTimeout>#UserDirectory.timeout#</SearchTimeout>
  71.             <SearchResults>#UserDirectory.results#</SearchResults>
  72.             <SearchScope>#UserDirectory.search_scope#</SearchScope>
  73.             ">
  74.     <CFELSEIF NameSpace IS 'ODBC:' >
  75.     <cfparam name="uname1" default="">
  76.     <CFTRY>
  77.             <CFFILE ACTION="Read" 
  78.              FILE=#INIFILE#
  79.              VARIABLE="Message">
  80.     <cfset server="[#UserDirectory.server#]">
  81.     <cfif NOT #FindNoCase(server,Message)#>
  82.               <!--Set Defaults if the userdirectory does not have corresponding data in the INI file-->
  83.                 <CFSET Enumerate="select Name, 'User' as Class from SmUser Union select Name, 'Group' as Class from SmGroup order by Class">
  84.                 <CFSET Lookup="select Name, 'User' as Class from SmUser where Name %s Union select Name, 'Group' as Class from SmGroup where Name %s order by Class">
  85.                 <CFSET InitUser="select Name from SmUser where Name = '%s'">
  86.                 <CFSET AuthenticateUser="select Name from SmUser where Name = '%s' and Password = '%s'">
  87.                 <CFSET IsGroupMember="select ID from SmUserGroup where UserID = (select UserID from SmUser where Name = '%s') and GroupID = (select GroupID from SmGroup where Name = '%s')">
  88.                 <CFSET GetUserGroups="select SmGroup.Name from SmGroup, SmUser, SmUserGroup where SmUser.Name = '%s' and SmUser.UserID  = SmUserGroup.UserID and SmGroup.GroupID = SmUserGroup.GroupID">
  89.                 <CFSET GetUserProperties="select Name, UserID, FirstName, LastName, TelephoneNumber, EmailAddress, Disabled, PIN, Mileage from SmUser">
  90.                 <CFSET GetUserProperty="select %s from SmUser where Name = '%s'">
  91.                 <CFSET SetUserProperty="update SmUser set %s = %s where Name = '%s'">        
  92.     <cfelse>
  93.     <cfloop condition="Find('Query',#Message#)"> 
  94.  
  95.         <cfif Find('[',#Message#,1) IS 1 OR Find('[',#Message#,1) IS 2>
  96.               <cfset Message=Replace(#Message#,"[","")>
  97.               <cfset uname=#GetToken(Message, 1,"]")#>
  98.               <cfset Message=Replace(#Message#,#uname#,"")>
  99.                 <cfset Message=Replace(#Message#,"]","")>    
  100.         </cfif>
  101.         <cfset Paramname=#GetToken(Message, 1,"=")#>
  102.         <cfset Message=Replace(#Message#,#Paramname#,"")>
  103.            <cfset Message=Replace(#Message#,"=","")>
  104.         <cfset value=#GetToken(Message,1,Chr(13))#>
  105.         
  106.             <cfif FindNoCase(#UserDirectory.server#,#uname#)>
  107.                      <cfif Find("Query_Enumerate",#Paramname#)>
  108.                         <cfset Enumerate=#value#>
  109.                     <cfelseif Find("Query_GetObjInfo",#Paramname#)>
  110.                         <cfset Lookup=#value#>
  111.                     <cfelseif Find("Query_InitUser",#Paramname#)>
  112.                         <cfset InitUser=#value#>
  113.                     <cfelseif Find("Query_AuthenticateUser",#Paramname#)>
  114.                         <cfset AuthenticateUser=#value#>            
  115.                     <cfelseif Find("Query_IsGroupMember",#Paramname#)>
  116.                            <cfset IsGroupMember=#value#>
  117.                     <cfelseif Find("Query_GetGroups",#Paramname#)>
  118.                            <cfset GetUserGroups=#value#>            
  119.                     <cfelseif Find("Query_GetUserProps",Paramname)>
  120.                         <cfset GetUserProperties=#value#>            
  121.                     <cfelseif Find("Query_GetUserProp",Paramname)>
  122.                         <cfset GetUserProperty=#value#>    
  123.                     <cfelseif Find("Query_SetUserProp",Paramname)>
  124.                         <cfset SetUserProperty=#value#>            
  125.                     </cfif>   
  126.             </cfif>
  127. <cfset Message=Replace(#Message#,#value#,"")> 
  128. <cfset Message=Replace(#Message#,Chr(13),"")> 
  129. </cfloop>
  130. </cfif>
  131.         <cfif Find("select UserName as Name",#Enumerate#)>
  132.         <!--Spectra UserDirectory Defaults-->
  133.             <CFSET LookupUsers="select UserName, 'User' as Class from Users where %s">
  134.             <CFSET LookupGroups="select UserName, 'Group' as Class from Groups where %s">
  135.             <CFSET GetUserOrGroupInfo="select UserName as Name, 'User' from Users where UserName = '%s' Union select GroupName as Name, 'Group' from Groups where GroupName = '%s'">
  136.  
  137.             <CFSET GetGroupProperties="select GroupName, Desciption from Group">
  138.             <CFSET GetGroupProperty="select %s from Groups where UserName = '%s'">
  139.             <CFSET SetGroupProperty="update Groups set %s = %s where UserName = '%s'">
  140.         <cfelse>
  141.             <CFSET LookupUsers="select Name, 'User' as Class from SmUser where %s">
  142.             <CFSET LookupGroups="select Name, 'Group' as Class from SmGroup where %s">
  143.             <CFSET GetUserOrGroupInfo="select Name, 'User' from SmUser where Name = '%s' Union select Name, 'Group' from SmGroup where Name = '%s'">
  144.  
  145.             <CFSET GetGroupProperties="select Name, GroupID from SmGroup">
  146.             <CFSET GetGroupProperty="select %s from SmGroup where Name = '%s'">
  147.             <CFSET SetGroupProperty="update SmGroup set %s = %s where Name = '%s'">
  148.         </cfif>    
  149.           <CFFILE ACTION="Append"
  150.         FILE="#PolicyFile#"
  151.             OUTPUT="        <name>ODBC</name>
  152.             <odbcschemename>#UserDirectories.Name#</odbcschemename>
  153.             <odbcschemedesc>ODBC Scheme Description</odbcschemedesc>
  154.             <authenticateuser>#AuthenticateUser#</authenticateuser>
  155.             <enumerate>#Enumerate#</enumerate>
  156.             <getgroupproperty>#GetGroupProperty#</getgroupproperty>
  157.             <getgroupproperties>#GetGroupProperties#</getgroupproperties>
  158.             <getusergroups>#GetUserGroups#</getusergroups>
  159.             <getuserorgroupinfo>#GetUserOrGroupInfo#</getuserorgroupinfo>
  160.             <getuserproperty>#GetUserProperty#</getuserproperty>
  161.             <getuserproperties>#GetUserProperties#</getuserproperties>
  162.             <inituser>#InitUser#</inituser>
  163.             <isgroupmember>#IsGroupMember#</isgroupmember>
  164.             <lookup>#Lookup#</lookup>
  165.             <lookupgroups>#LookupGroups#</lookupgroups>
  166.             <lookupusers>#LookupUsers#</lookupusers>
  167.             <setgroupproperty>#SetGroupProperty#</setgroupproperty>
  168.             <setuserproperty>#SetUserProperty#</setuserproperty>">  
  169.         <CFCATCH TYPE="Any">
  170.             <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract the inifile #INIFILE# and using defaults">
  171.             <cfif UserDirectories.Name IS "UserDirectory">
  172.         <!--Spectra UserDirectory Defaults-->
  173.                 <CFSET Enumerate="select UserName as Name, 'User' as Class from Users Union select GroupName as Name, 'Group' as Class from Groups order by Class">
  174.                 <CFSET InitUser="select UserName as Name from Users where UserName = '%s'">
  175.                 <CFSET AuthenticateUser="select UserName as Name from Users where UserName = '%s' and Password = '%s'">
  176.                 <CFSET Lookup="select UserName as Name, 'User' from Users where UserName = '%s' Union select GroupName as Name, 'Group' from Groups where GroupName = '%s'">        
  177.                 <CFSET IsGroupMember="select GroupName from Users_Groups where UserName = '%s' and GroupName = '%s'">
  178.                 <CFSET GetUserGroups="select Groups.GroupName as Name from Groups, Users_Groups where Users_Groups.UserName = '%s' and Groups.GroupName = Users_Groups.GroupName">
  179.                 <CFSET GetUserProperties="UserName, Description">
  180.                 <CFSET GetUserProperty="select %s from Users where UserName = '%s'">
  181.                 <CFSET SetUserProperty="update Users set %s = %s where UserName = '%s'">    
  182.                 
  183.                 <CFSET LookupUsers="select UserName, 'User' as Class from Users where %s">
  184.                 <CFSET LookupGroups="select UserName, 'Group' as Class from Groups where %s">
  185.                 <CFSET GetUserOrGroupInfo="select UserName as Name, 'User' from Users where UserName = '%s' Union select GroupName as Name, 'Group' from Groups where GroupName = '%s'">
  186.                 <CFSET GetGroupProperties="select GroupName, Desciption from Group">
  187.                 <CFSET GetGroupProperty="select %s from Groups where UserName = '%s'">
  188.                 <CFSET SetGroupProperty="update Groups set %s = %s where UserName = '%s'">
  189.             <cfelse>
  190.                 <CFSET Enumerate="select Name, 'User' as Class from SmUser Union select Name, 'Group' as Class from SmGroup order by Class">
  191.                 <CFSET Lookup="select Name, 'User' as Class from SmUser where Name %s Union select Name, 'Group' as Class from SmGroup where Name %s order by Class">
  192.                 <CFSET InitUser="select Name from SmUser where Name = '%s'">
  193.                 <CFSET AuthenticateUser="select Name from SmUser where Name = '%s' and Password = '%s'">
  194.                 <CFSET IsGroupMember="select ID from SmUserGroup where UserID = (select UserID from SmUser where Name = '%s') and GroupID = (select GroupID from SmGroup where Name = '%s')">
  195.                 <CFSET GetUserGroups="select SmGroup.Name from SmGroup, SmUser, SmUserGroup where SmUser.Name = '%s' and SmUser.UserID  = SmUserGroup.UserID and SmGroup.GroupID = SmUserGroup.GroupID">
  196.                 <CFSET GetUserProperties="select Name, UserID, FirstName, LastName, TelephoneNumber, EmailAddress, Disabled, PIN, Mileage from SmUser">
  197.                 <CFSET GetUserProperty="select %s from SmUser where Name = '%s'">
  198.                 <CFSET SetUserProperty="update SmUser set %s = %s where Name = '%s'">    
  199.                 
  200.                 <CFSET LookupUsers="select Name, 'User' as Class from SmUser where %s">
  201.                 <CFSET LookupGroups="select Name, 'Group' as Class from SmGroup where %s">
  202.                 <CFSET GetUserOrGroupInfo="select Name, 'User' from SmUser where Name = '%s' Union select Name, 'Group' from SmGroup where Name = '%s'">
  203.                 <CFSET GetGroupProperties="select Name, GroupID from SmGroup">
  204.                 <CFSET GetGroupProperty="select %s from SmGroup where Name = '%s'">
  205.                 <CFSET SetGroupProperty="update SmGroup set %s = %s where Name = '%s'">
  206.             </cfif>    
  207.               <CFFILE ACTION="Append"    FILE="#PolicyFile#"
  208.             OUTPUT="        <name>ODBC</name>
  209.             <odbcschemename>#UserDirectories.Name#</odbcschemename>
  210.             <odbcschemedesc>ODBC Scheme Description</odbcschemedesc>
  211.             <authenticateuser>#AuthenticateUser#</authenticateuser>
  212.             <enumerate>#Enumerate#</enumerate>
  213.             <getgroupproperty>#GetGroupProperty#</getgroupproperty>
  214.             <getgroupproperties>#GetGroupProperties#</getgroupproperties>
  215.             <getusergroups>#GetUserGroups#</getusergroups>
  216.             <getuserorgroupinfo>#GetUserOrGroupInfo#</getuserorgroupinfo>
  217.             <getuserproperty>#GetUserProperty#</getuserproperty>
  218.             <getuserproperties>#GetUserProperties#</getuserproperties>
  219.             <inituser>#InitUser#</inituser>
  220.             <isgroupmember>#IsGroupMember#</isgroupmember>
  221.             <lookup>#Lookup#</lookup>
  222.             <lookupgroups>#LookupGroups#</lookupgroups>
  223.             <lookupusers>#LookupUsers#</lookupusers>
  224.             <setgroupproperty>#SetGroupProperty#</setgroupproperty>
  225.             <setuserproperty>#SetUserProperty#</setuserproperty>">  
  226.             </CFCATCH>
  227.         </CFTRY>
  228.     <CFELSE>
  229.         <CFFILE ACTION="Append"
  230.         FILE="#PolicyFile#"
  231.         OUTPUT="        <name>NT</name>">
  232.     </CFIF>
  233.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="... Completed">
  234.  
  235.         <CFFILE ACTION="Append"
  236.         FILE="#PolicyFile#"
  237.         OUTPUT="        </namespace>
  238. </userdir>">
  239.     <CFCATCH TYPE="Any">
  240.             <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract User Directoy #UserDirectories.Name#">
  241.     </CFCATCH>
  242.     </CFTRY>    
  243.     </CFLOOP>
  244.     <CFFILE ACTION="Append"
  245.     FILE="#PolicyFile#"
  246.     OUTPUT="</userdirectories>"> 
  247. <CFCATCH TYPE="Any">
  248.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract User Directories">
  249. </CFCATCH>
  250. </CFTRY>
  251. <!--- <Security Contexts> --->
  252.     <!--- Get Security Contexts names --->
  253. <CFTRY>
  254. <CFNewInternalAdminSecurity ACTION=GETSECURITYCONTEXT QUERY=SecurityContexts>
  255. <CFFILE ACTION="Append"
  256.     FILE=#PolicyFile#
  257.     OUTPUT="<securitycontexts>">
  258.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  259.     SECURITYCONTEXTS
  260.     ">    
  261.     <!--- Get descriptions --->
  262.     <CFLOOP Query="SecurityContexts">
  263.     <CFTRY>
  264.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Extracting Security Context #SecurityContexts.Name# ... ">
  265.     
  266.     <CFNewInternalAdminSecurity ACTION=GETSECURITYCONTEXT NAME="#SecurityContexts.Name#" QUERY=SecurityContext>
  267.  
  268.     <CFFILE ACTION="Append"
  269.     FILE=#PolicyFile#
  270.     OUTPUT="<securitycontext>
  271.     <name>#SecurityContexts.Name#</name>
  272.     <description>#SecurityContext.Description#</description>">
  273.     <CFSET ContextBranch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Security\#SecurityContexts.Name#">
  274.     <CFREGISTRY ACTION=GET Branch="#ContextBranch#" VARIABLE="ProtectAll" Entry="ProtectAll" Type="STRING" >
  275.     <CFIF ParameterExists( ProtectAll ) AND ProtectAll>  
  276.            <CFFILE ACTION="Append"   FILE=#PolicyFile#  OUTPUT="<protectall>Yes</protectall>">
  277.     <CFELSE>
  278.           <CFFILE ACTION="Append"   FILE=#PolicyFile#  OUTPUT="<protectall>No</protectall>">
  279.      </CFIF>        
  280.     <!--Get Security Context Realms-->
  281.     <CFTRY>
  282.     <CFNewInternalAdminSecurity ACTION=GETSECURITYREALM Directory="#SecurityContexts.Name#" QUERY="ApplyRealmList">
  283.         <CFLOOP Query="ApplyRealmList">
  284.                  <CFFILE ACTION="Append" FILE=#PolicyFile# 
  285.                  OUTPUT="<realm><name>#ApplyRealmList.Name#</name>
  286.                         <description>#ApplyRealmList.Description#</description></realm>">    
  287.         </CFLOOP>    
  288.     <CFCATCH TYPE="Any">
  289.      <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Security Realms for #SecurityContexts.Name#">
  290.     </CFCATCH>
  291.     </CFTRY>    
  292.     <CFTRY>
  293.     <CFNewInternalAdminSecurity ACTION=GETRULE DIRECTORY="#SecurityContexts.Name#" QUERY="Rules">
  294.     <CFLOOP Query="Rules">
  295.     <CFSET ruleaction = "">
  296.                 <CFIF #Rules.Type# IS "CustomTag">
  297.                     <CFSET    ruleaction="" >        
  298.                 </CFIF>
  299.                 <CFFILE ACTION="Append" FILE=#PolicyFile# 
  300.                  OUTPUT="<rule><name>#Rules.Name#</name>
  301.                         <description>#Rules.Description#</description>
  302.                         <type>#Rules.Type#</type>
  303.                         <resource>#Rules.RESOURCE#</resource>">
  304.                         
  305.                         <CFIF #Rules.Type# IS "CustomTag">
  306.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  307.                  OUTPUT="<action>#ruleaction#</action></rule>">        
  308.                         <cfelse>
  309.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  310.                  OUTPUT="<action>#Rules.ACTION#</action></rule>">        
  311.                         </CFIF>
  312.      </CFLOOP>
  313.     <CFCATCH TYPE="Any">
  314.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Rules for #SecurityContexts.Name#">
  315.     </CFCATCH>
  316.     </CFTRY>    
  317.     <CFTRY>
  318.     <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORYFORCONTEXT NAME="#SecurityContexts.Name#" QUERY="UD">
  319.     <CFLOOP Query="UD">
  320.     <CFFILE ACTION="Append" FILE=#PolicyFile# 
  321.                  OUTPUT="<userdirectory><name>#UD.directory#</name>
  322.                         </userdirectory>">
  323.     </CFLOOP>
  324.     <CFCATCH TYPE="Any">
  325.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract UserDirectories for #SecurityContexts.Name#">
  326.     </CFCATCH>
  327.     </CFTRY>
  328.     <CFTRY>
  329.     <CFNewInternalAdminSecurity ACTION=GETPOLICY DIRECTORY="#SecurityContexts.Name#" QUERY="Policies">
  330.     <cfset sc="#SecurityContexts.Name#">
  331.     <CFLOOP Query="Policies">
  332.             <CFFILE ACTION="Append" FILE=#PolicyFile# 
  333.              OUTPUT="<policy><name>#Policies.Name#</name>
  334.                          <description>#Policies.Description#</description>">
  335.             <CFTRY>
  336.                 <CFNewInternalAdminSecurity ACTION=GETRULEFORPOLICY DIRECTORY="#sc#" NAME="#Policies.Name#" QUERY="PR">                        
  337.                 <cfloop query="PR">
  338.                     <CFFILE ACTION="Append" FILE=#PolicyFile# OUTPUT="<rule><name>#PR.name#</name>
  339.                          </rule>">
  340.                 </CFLOOP>
  341.             <CFCATCH>
  342.                 <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Rules for Policy #Policies.Name# under #SecurityContexts.Name#">
  343.             </CFCATCH>
  344.             </CFTRY>                        
  345.             <CFTRY>
  346.             <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORYFORCONTEXT NAME="#sc#" QUERY=UD>
  347.                 <CFLOOP Query="UD">
  348.                     <CFNewInternalAdminSecurity ACTION=GETUSERFORPOLICY DIRECTORY="#sc#" QUERY="PolicyUsers" NAME="#Policies.Name#" USER="#UD.directory#">
  349.                     <CFLOOP Query="PolicyUsers">
  350.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  351.                          OUTPUT="<user><name>#PolicyUsers.user#</name>
  352.                         <directory>#PolicyUsers.directory#</directory>
  353.                         </user>">
  354.                     </CFLOOP>
  355.                 </CFLOOP>
  356.              <CFCATCH>
  357.                 <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract UserDirectories for Policy #Policies.Name# under #SecurityContexts.Name#">
  358.              </CFCATCH>
  359.              </CFTRY>                
  360.             <CFFILE ACTION="Append" FILE=#PolicyFile# 
  361.              OUTPUT="</policy>">
  362.     </CFLOOP>
  363.     <CFCATCH TYPE="Any">
  364.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Policies for #SecurityContexts.Name#">
  365.     </CFCATCH>
  366.     </CFTRY>
  367.     <CFFILE ACTION="Append"
  368.     FILE=#PolicyFile#
  369.     OUTPUT="</securitycontext>">
  370.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="... Completed">    
  371.     <CFCATCH TYPE="Any">
  372.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract Security Context #SecurityContexts.Name#">    
  373.     </CFCATCH>
  374.     
  375.     </CFTRY>
  376.     </CFLOOP>
  377.     <CFFILE ACTION="Append"
  378.     FILE=#PolicyFile#
  379.     OUTPUT="</securitycontexts></policystore>">
  380.     <CFCATCH TYPE="Any">
  381.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract Security Contexts">    
  382.     </CFCATCH>
  383.     </CFTRY>    
  384.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  385.     ... Completed Policy Store!!!">
  386.     <cfregistry action="SET" branch="#SmBranch#" entry="SmExportCompleted" type="String" value="1">