• Products
    • View all products
    • Free trials
  • Solutions
    • All Solutions
    • All Integrations
  • Resources
    • All Resources
    • Learning Hub
  • Trials
  • Support
    • Support Home
    • By Product
      • All Products
      • Active Roles
      • Authentication Services
      • Cloud Access Manager
      • Defender
      • Identity Manager
      • Password Manager
      • Safeguard
      • Starling Identity Analytics & Risk Intelligence
      • Starling Two-Factor Authentication
      • TPAM Appliance
    • Contact Support
      • Overview
      • Customer Service
      • Licensing Assistance
      • Renewal Assistance
      • Technical Support
    • Download Software
    • Knowledge Base
    • My Account
      • My Products
      • My Service Requests
      • My Licenses
      • My Groups
      • My Profile
    • Policies & Procedures
    • Professional Services
    • Technical Documentation
    • One Identity University
    • User Forums
    • Video Tutorials
  • Partners
    • Overview
    • Partner Circle Log In
    • Become a Partner
    • Find a Partner
    • Partner Community
  • Communities
    • Home
    • Blogs
      • Blogs A to Z
      • One Identity Community
      • AD Account Lifecycle Management
      • Cloud
      • Identity Governance & Administration
      • Privileged Access Management
      • syslog-ng Community
    • Forums
      • All Product Forums
      • Active Roles
      • Identity Manager
      • Password Manager
      • Safeguard
      • Unix Access Management
    • Social Networks
      • Facebook
      • LinkedIn
      • Twitter
      • YouTube
One Identity Community
One Identity Community
  • Site
  • User
  • Site
  • Search
  • User
Active Roles Community
Active Roles Community
Wiki How to send emails based on scripts policy parameters and Virtual Attribute values
  • Forum
  • Ideas
  • Wiki
  • More
  • Cancel
  • New
  • -Active Roles Script Center
    • +Active Roles Script Policy Best Practices
    • Active Roles SDK
    • +C#
    • +JavaScript
    • +PowerShell
    • -VBScript
      • VBScript Library source code
      • -VBScript samples
        • A Managed Unit with users which have not logged on for last 90 days
        • Adjust the case of usernames to title case (first letter of each part of the name)
        • Advanced group creation/provision
        • Advanced shared folder creation
        • Bulk policy incompliance fixing
        • Check unique value of an attribute
        • +Computer management
        • +Exchange management
        • Function that converts regular date into integer8 format
        • Get effective policy info list
        • +Group management
        • How to find a request source in script policy
        • How to send emails based on scripts policy parameters and Virtual Attribute values
        • +Permissions Management
        • Policy incompliance reporting & fixing for specified policy
        • Populate values from a SQL database to an AD Attribute
        • Prevent copying an attribute on user copy
        • Prohibite a permission propagation to AD
        • Prohibite an AD native security editing
        • Read large integer date attributes and display them in date and time readable format
        • Read XML Node text or attribute value
        • Read XML Node with Children into DictionaryObject
        • Standalone script that requests built-in password generation policy
        • +User management
        • Validate moving operations
        • +VBScript: Approval

You are currently reviewing an older revision of this page.

  • History View current version

How to send emails based on scripts policy parameters and VA

Back to VBScript samples

DESCRIPTION

When deprovision users, this script read all parameters from the Deprovision Policy and based on VA we send emails notifications to application's managers.

SCRIPT

Sub onDeprovision(ByVal Request)

' ********************************************************

' Set SMTP constants (Provided by Steven Schullo)

strCmdMailCC = ""

strCmdMailFrom = "ActiveRolesServer@dom.es"

constSmtpPort = 25

constSmtpServer = "email.dom.local"

strCmdSubject = "User Deprovisioning"

' Open error file for tracking.

errores = "E:\Quest Software\Scripts\traza.txt"

objErrorFile = CreateObject("Scripting.FileSystemObject")

ErrorFile = objErrorFile.OpenTextFile(errores, 8, True)

' Get Time and Data for Error file

On Error Resume Next

LineaTiempo = Date

LineaTime = Time

Dim MyVar

If (LCase(Request.Class) <> "user") Then Exit Sub

' Obtain user data

Dim objUser

objUser = GetObject("EDMS://" & request.name)

objuser.getinfo

ErrorFile.WriteLine("*******************************************")

ErrorFile.WriteLine(LineaTiempo & "-" & LineaTime & ": Inicio Deprovision")

' Bind to deprovisioning policy

objPO = GetObject("EDMS://CN=Depro-Prueba,CN=TELE5,CN=Policy Objects,CN=Configuration")

' We obtain all policies for deprovisioning policy

For Each APE In objPO

' Now we read all script parameters of the script policy.

For Each Param In APE

VaValue = CStr(Param.Value)

App = CStr(Param.Name)

' We compare if the parameter is a VA.

If Left(VaValue, 5) = "edsva" Then

ErrorFile.WriteLine(LineaTiempo & "-" & LineaTime & ": Encontrado VA a tratar " & VaValue)

' If the parameter is VA now we select the manager (Other Parameter)

For Each Param2 In APE

Val2 = Param2.Name

Manager = Param2.Value

If VaValue = Val2 Then

ErrorFile.WriteLine(LineaTiempo & "-" & LineaTime & ": Obtenemos datos del Usuario: " & objUser.Get("name"))

objUser.GetInfoEx Array(VaValue), 0

MyVar = CStr(objUser.Get(VaValue))

If MyVar = "True" Then

strCmdMsgText = "El usuario " & objUser.Get("name") & " Ha sido dado de baja. Por favor proceda" & vbCRLF

strCmdMsgText = strCmdMsgText & "a darlo de baja de " & App

ErrorFile.WriteLine(LineaTiempo & "-" & LineaTime & ": Envio Correo para " & App)

' After setting the message text, we call Email sub for sending the message

Email(strCmdMailFrom, Manager, strCmdSubject, strCmdMsgText, constSmtpServer)

Else

strCmdMsgText = "El usuario " & objUser.Get("name") & " No estaba dado de alta en " & App

ErrorFile.WriteLine(LineaTiempo & "-" & LineaTime & ": " & strCmdMsgText)

End If

End If

Next

End If

Next

Next

ErrorFile.close()

End Sub

' ********************************************************

' Email sent using CDO (Provided by Steven Schullo)

Sub Email(ByVal strCmdMailFrom, ByVal strCmdMailTo, ByVal strCmdSubject, ByVal strCmdMsgText, ByVal constSmtpServer)

objEmail = CreateObject("CDO.Message")

objEmail.From = strCmdMailFrom

objEmail.To = strCmdMailTo

objEmail.Subject = strCmdSubject

objEmail.Textbody = strCmdMsgText

objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = constSmtpServer

objEmail.Configuration.Fields.Update()

objEmail.Send()

End Sub

Back to VBScript samples

  • Company
    • About Us
    • Buy
    • Careers
    • Contact Us
    • News
  • Resources
    • Blogs
    • Customer Stories
    • Documents
    • Events
    • Videos
  • Support
    • Professional Services
    • Renew Support
    • Technical Support
    • One Identity University
    • Support Service
  • Social Networks
    • Facebook
    • Instagram
    • LinkedIn
    • Twitter
    • YouTube
  • © 2025 One Identity LLC. ALL RIGHTS RESERVED.
  • Legal
  • Terms of Use
  • Privacy
  • Community Feedback & Support
  • Cookie Preference Center