Skip to main content

Posts

Showing posts from 2015

NetIQ IDM - Want to use HTML tags to format the strings in E-mail templates for the dynamic contents?

Got my eye on the new tag    <use-html></use-html> < do-set-local-variable name = "local.sub.etp.Info" scope = "policy" > < arg-string > < token-local-variable name = "local.sub.etp.Info" /> < token-text xml:space = "preserve" > &lt;li&gt; </ token-text > < token-local-variable name = "local.sub.etp.AccountID" /> < token-text xml:space = "preserve" > : </ token-text > < token-local-variable name = "local.sub.etp.AccountStatus" /> < token-text xml:space = "preserve" > &lt;/li&gt; </ token-text > </ arg-string > </ do-set-local-variable > < do-send-email-from-template notification-dn = "Security\Default Notification Collection" template-dn = "Security\Default Notification Collection\MySpookyTemp

NetIQ IDM - How to validate form field based on the Regular Expression (validation mask) in NetIQ Userapp workflow forms

Workflow forms in the  NetIQ Userapp provides to validate input fields using regular expression. Here is the recipe: Example allow only alphabets and spaces in the form field. 1. On the form field, Add regular expression validation mask: ^[a-zA-Z ]*$ 2. On the form field, Add event (OnChange) 3. Add following code on the Event handler: /* Function to validate with mask (default) and set new message if not valid returns true if field valid, else false */ function validateField() { // check if field is valid, by calling default validation, //which uses the mask if (field.validate()) { // not valid form.clearMessages(); // get rid of the default // validation mask message form.showError("The entry " + field.getValue() + " is " + "not valid"); return false; // field not valid } else { // valid, clear old messages form.clearMessages(); return true; // field is valid } }; if (field.getValue() != ""){ validateFi

NetIQ IDM - How to close a workflow request based on a group membership (NetIQ Userapp workflow forms)

Solution: Suppose you want to close a request form by cancelling it upon a certain condition, such as if the caller is requires to be member of a specific eDirectory group. 1. On the request form,  add a field called "recipient". i.e the caller of the form 2. Workflow->Start->Data-Item-Mapping, Add  "recipient" as the source expression 3. On the request form field "recipient", Properties add event "onload" 4  Paste the following script: function CheckGroupAccess(userDN)  {  var isMember;  var grp = IDVault.get(null,userDN,'user','group');  var access_grp = "ACCESS_GROUP_DN"; access_grp = access_grp.toLowerCase(); var lvEnt = Array(); lvEnt = grp; var EntSize = lvEnt.length-1;   for (var i = 0; i <= EntSize; i++)      {         currentEnt=lvEnt[i].toString().toLowerCase(); if (currentEnt.match(access_grp)) {isMember="x";   break ;}   else   continue;  

Method to provision personal sites and OneDrive for Business for multiple users in Office365

As part of new employee workflow from within the identity management we needed to pre-provision Personal sites and OneDrive for Business. After doing a quick research, I found the following article on the #msdn https://msdn.microsoft.com/en-us/library/office/jj163783.aspx which describes how using CSOM one can achieve the task. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Security; using Microsoft.SharePoint.Client; using Microsoft.SharePoint.Client.UserProfiles; namespace CreatePersonalSiteBulkConsole { class Program { static void Main( string [] args) { string userName = "administrator@contoso.onmicrosoft.com" ; string passwordStr = "password" ; string serverUrl = "https://contoso-admin.sharepoint.com/" ; using ( var clientContext = new ClientContext(serverUrl))

Microsoft Azure Active Directory Graph API

Got chance to work with Microsoft Azure Active Directory Graph API (api-version=1.5) to manage users, groups, licenses management etc. few of the things that I should mention here which could save a developer time to code. Azure Portal UI and Graph API object properties mapping; WORK INFO: JOB TITLE  : jobTitle DEPARTMENT : department OFFICE NUMBER: physicalDeliveryOfficeNumber OFFICE PHONE:telephoneNumber MOBILE:mobile [ a single space between country code and mobile number] STREET ADDRESS:streetAddress CITY:city STATE OR PROVINCE:state ZIP OR POSTAL CODE: COUNTRY OR REGION:country ALLOW THE USER TO SIGN IN AND ACCESS SERVICES? Account Enabled = false( INACTIVE), true(ACTIVE)  // LICENSE INFO: EXCHANGE_S_STANDARD - Exchange Online (Plan 2) MCOSTANDARD - Lync Online (Plan 2) SHAREPOINTENTERPRISE - SharePoint Online (Plan 2) SHAREPOINTWAC - Office Online OFFICESUBSCRIPTION - Office ProPlus RMS_S_ENTERPRISE - Azure Active Directory Rights Manageme