-
Notifications
You must be signed in to change notification settings - Fork 153
Set JCUser
external help file: JumpCloud-help.xml Module Name: JumpCloud online version: https://github.com/TheJumpCloud/support/wiki/Set-JCUser schema: 2.0.0
Updates an existing JumpCloud User
Set-JCUser [-Username] <String> [-email <String>] [-firstname <String>] [-lastname <String>]
[-password <String>] [-password_never_expires <Boolean>] [-allow_public_key <Boolean>] [-sudo <Boolean>]
[-enable_managed_uid <Boolean>] [-unix_uid <Int32>] [-unix_guid <Int32>] [-account_locked <Boolean>]
[-passwordless_sudo <Boolean>] [-externally_managed <Boolean>] [-ldap_binding_user <Boolean>]
[-enable_user_portal_multifactor <Boolean>] [-NumberOfCustomAttributes <Int32>] [-middlename <String>]
[-displayname <String>] [-jobTitle <String>] [-employeeIdentifier <String>] [-department <String>]
[-costCenter <String>] [-company <String>] [-employeeType <String>] [-description <String>]
[-location <String>] [-work_streetAddress <String>] [-work_poBox <String>] [-work_locality <String>]
[-work_region <String>] [-work_postalCode <String>] [-work_country <String>] [-home_streetAddress <String>]
[-home_poBox <String>] [-home_locality <String>] [-home_region <String>] [-home_postalCode <String>]
[-home_country <String>] [-mobile_number <String>] [-home_number <String>] [-work_number <String>]
[-work_mobile_number <String>] [-work_fax_number <String>] [-external_dn <String>]
[-external_source_type <String>] [-state <String>] [-manager <String>] [-managedAppleId <String>]
[-alternateEmail <String>] [-recoveryEmail <String>]
[-EnrollmentDays <Int32>] -Attribute1_name <String> -Attribute1_value <String> -Attribute2_name <String>
-Attribute2_value <String> [<CommonParameters>]
Set-JCUser [-Username] <String> [-email <String>] [-firstname <String>] [-lastname <String>]
[-password <String>] [-password_never_expires <Boolean>] [-allow_public_key <Boolean>] [-sudo <Boolean>]
[-enable_managed_uid <Boolean>] [-unix_uid <Int32>] [-unix_guid <Int32>] [-account_locked <Boolean>]
[-passwordless_sudo <Boolean>] [-externally_managed <Boolean>] [-ldap_binding_user <Boolean>]
[-enable_user_portal_multifactor <Boolean>] [-NumberOfCustomAttributes <Int32>]
[-RemoveCustomAttribute <String[]>] [-middlename <String>] [-displayname <String>] [-jobTitle <String>]
[-employeeIdentifier <String>] [-department <String>] [-costCenter <String>] [-company <String>]
[-employeeType <String>] [-description <String>] [-location <String>] [-work_streetAddress <String>]
[-work_poBox <String>] [-work_locality <String>] [-work_region <String>] [-work_postalCode <String>]
[-work_country <String>] [-home_streetAddress <String>] [-home_poBox <String>] [-home_locality <String>]
[-home_region <String>] [-home_postalCode <String>] [-home_country <String>] [-mobile_number <String>]
[-home_number <String>] [-work_number <String>] [-work_mobile_number <String>] [-work_fax_number <String>]
[-external_dn <String>] [-external_source_type <String>] [-state <String>] [-manager <String>]
[-managedAppleId <String>] [-alternateEmail <String>] [-recoveryEmail <String>]
[-EnrollmentDays <Int32>] -Attribute1_name <String>
-Attribute1_value <String> -Attribute2_name <String> -Attribute2_value <String> [<CommonParameters>]
Set-JCUser -UserID <String> [-email <String>] [-firstname <String>] [-lastname <String>] [-password <String>]
[-password_never_expires <Boolean>] [-allow_public_key <Boolean>] [-sudo <Boolean>]
[-enable_managed_uid <Boolean>] [-unix_uid <Int32>] [-unix_guid <Int32>] [-account_locked <Boolean>]
[-passwordless_sudo <Boolean>] [-externally_managed <Boolean>] [-ldap_binding_user <Boolean>]
[-enable_user_portal_multifactor <Boolean>] [-NumberOfCustomAttributes <Int32>] [-ByID] [-middlename <String>]
[-displayname <String>] [-jobTitle <String>] [-employeeIdentifier <String>] [-department <String>]
[-costCenter <String>] [-company <String>] [-employeeType <String>] [-description <String>]
[-location <String>] [-work_streetAddress <String>] [-work_poBox <String>] [-work_locality <String>]
[-work_region <String>] [-work_postalCode <String>] [-work_country <String>] [-home_streetAddress <String>]
[-home_poBox <String>] [-home_locality <String>] [-home_region <String>] [-home_postalCode <String>]
[-home_country <String>] [-mobile_number <String>] [-home_number <String>] [-work_number <String>]
[-work_mobile_number <String>] [-work_fax_number <String>] [-external_dn <String>]
[-external_source_type <String>] [-state <String>] [-manager <String>] [-managedAppleId <String>]
[-alternateEmail <String>] [-recoveryEmail <String>]
[-EnrollmentDays <Int32>] -Attribute1_name <String> -Attribute1_value <String> -Attribute2_name <String>
-Attribute2_value <String> [<CommonParameters>]
The Set-JCUser function updates an existing JumpCloud user account. Common use cases are account locks and unlocks, email address updates, or custom attribute modifications. Actions can be completed in bulk for multiple users by using the pipeline and Parameter Binding to query users with the Get-JCUser function and then applying updates with Set-JCUser function.
PS C:\> Set-JCUser -Username cclemons -account_locked $false
This example unlocks the account for the user with username cclemons by setting the value of the property -account_locked to $false.
PS C:\> Set-JCUser -Username cclemons -account_locked $true -email 'clarence@clemons.com'
This example locks the account for user with username cclemons by setting the value of the property -account_locked to $true and also updates the email address for this user to 'clarence@clemons.com'.
PS C:\> Get-JCUser | Select-Object _id, @{ Name = 'email'; Expression = { ($_.email).replace('olddomain.com','newdomain.com') }} | foreach {Set-JCUser -ByID -UserID $_._id -email $_.email}
This example updates the domain on the email addresses associated with every user in the JumpCloud tenant using Parameter Binding, the pipeline, and a calculated property. The 'olddomain.com' would represent the current domain and the 'newdomain.com' would be the new domain.
PS C:\> Get-JCUserGroupMember -GroupName 'Sales' | Set-JCUser -NumberOfCustomAttributes 1 -Attribute1_name 'Department' -Attribute1_value 'Sales'
This example either updates or adds the Custom Attribute 'name = Department, value = Sales' to all JumpCloud Users in the JumpCloud User Group 'Sales'
PS C:\> Get-JCUserGroupMember -GroupName 'Sales' | Set-JCUser -RemoveCustomAttribute ATTRIBUTENAME
This example removes the Custom Attribute with the name 'ATTRIBUTENAME' from all JumpCloud Users in the JumpCloud User Group 'Sales'
PS C:\> Set-JCUser -Username cclemons -enable_user_portal_multifactor $True -enrollmentdays 14
This example enables the account for the user with username cclemons for MFA login to the user portal and sets an enrollment period of 14 days.
unlock or lock a users JumpCloud account
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value for allowing pubic key authentication
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The alternateEmail for the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Enter an attribute name
Type: System.String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Enter an attribute value
Type: System.String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Enter an attribute name
Type: System.String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Enter an attribute value
Type: System.String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Use the -ByID parameter when the UserID is being passed over the pipeline to the Set-JCUser function. The -ByID SwitchParameter will set the ParameterSet to 'ByID' which will increase the function speed and performance. You cannot use this with the 'RemoveCustomAttribute' Parameter
Type: System.Management.Automation.SwitchParameter
Parameter Sets: ByID
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's company. The LDAP displayName of this property is company.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's costCenter. The LDAP displayName of this property is businessCategory.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's department. The LDAP displayName of this property is departmentNumber.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's description. The LDAP displayName of this property is description. This field is limited to 1024 characters.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's preferredName. The LDAP displayName of this property is displayName.
Type: System.String
Parameter Sets: (All)
Aliases: preferredName
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The email address for the user. This must be a unique value.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's employeeIdentifier. The LDAP displayName of this property is employeeNumber. Note this field must be unique per user.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's employeeType. The LDAP displayName of this property is employeeType.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value for enabling managed uid
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value for enabling MFA at the user portal
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Number of days to allow for MFA enrollment.
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
The distinguished name of the AD domain (ADB Externally managed users only)
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The externally managed user source type (ADB Externally managed users only)
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value for enabling externally_managed
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The first name of the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's country on the home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's city on their home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases: home_city
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's home number. The LDAP displayName of this property is homePhone.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's poBox on their home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's postalCode on their home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's state on their home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases: home_state
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's streetAddress on their home address object. This property is nested within the LDAP property with the displayName homePostalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's job title. The LDAP displayName of this property is title.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The last name of the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value to enable the user as an LDAP binding user
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's home location. The LDAP displayName of this property is physicalDeliveryOfficeName.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The managedAppleId for the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The manager for the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's home location. The LDAP displayName of this property is initials.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's mobile number. The LDAP displayName of this property is mobile.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
If you intend to update a user with existing Custom Attributes or add new Custom Attributes you must declare how many Custom Attributes you intend to update or add. If an Custom Attribute exists with a name that matches the new attribute then the existing attribute will be updated. Based on the NumberOfCustomAttributes value two Dynamic Parameters will be created for each Custom Attribute: Attribute_name and Attribute_value with an associated number. See an example for working with Custom Attribute in EXAMPLE 4
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The password for the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value for enabling password_never_expires
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value if you want to enable passwordless_sudo
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The recoveryEmail for the user
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The name of the existing Custom Attributes you wish to remove. See an EXAMPLE for working with the -RemoveCustomAttribute Parameter in EXAMPLE 5
Type: System.String[]
Parameter Sets: RemoveCustomAttribute
Aliases: RemoveAttribute
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A string value for putting the account into a staged, activated or suspended state
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: ACTIVATED, SUSPENDED
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
A boolean $true/$false value if you want to enable the user to be an administrator on any and all systems the user is bound to.
Type: System.Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The unix_guid for the user. Note this value must be a number.
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The unix_uid for the user. Note this value must be an number.
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The _id of the User which you want to modify.
To find a JumpCloud UserID run the command:
PS C:\> Get-JCUser | Select username, _id
The UserID will be the 24 character string populated for the _id field.
UserID has an Alias of _id. This means you can leverage the PowerShell pipeline to populate this field automatically using the Get-JCUser function before calling Add-JCUserGroupMember. This is shown in EXAMPLES 3, 4, and 5.
Type: System.String
Parameter Sets: ByID
Aliases: _id, id
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
The Username of the JumpCloud user you wish to modify
Type: System.String
Parameter Sets: Username, RemoveCustomAttribute
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's country on the work address object. This property is nested within the LDAP property with the displayName postalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's work fax number. The LDAP displayName of this property is facsimileTelephoneNumber.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's city on their work address object. The LDAP displayName of this property is l.
Type: System.String
Parameter Sets: (All)
Aliases: work_city
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's work mobile number. The LDAP displayName of this property is pager.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's work number. The LDAP displayName of this property is telephoneNumber.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's poBox on their work address object. The LDAP displayName of this property is postOfficeBox.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's postalCode on their work address object. The LDAP displayName of this property is postalCode.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's state on their work address object. This property is nested within the LDAP property with the displayName postalAddress.
Type: System.String
Parameter Sets: (All)
Aliases: work_state
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Specifies the user's streetAddress on their work address object. This property is nested within the LDAP property with the displayName postalAddress.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
- Wiki Home
- Installing the JumpCloud PowerShell module
- Using the JumpCloud PowerShell Module
- Using the JumpCloud PowerShell Module with AWS Lambda
- PowerShell Commands Example Library
- JumpCloud Commands Gallery
- JumpCloud PowerShell YouTube Channel
- The JumpCloud Dashboard PowerShell Module
Authentication
Import and Backup
- Get JCAssociation
- New JCImportTemplate
- Import JCUsersFromCSV
- Update JCUsersFromCSV
- Get JCBackup
- Send JCPasswordReset
- Backup JCOrganization
RADIUS Reply Attributes
- Add JCRadiusReplyAttribute
- Get JCRadiusReplyAttribute
- Update JCUsersFromCSV
- Set JCRadiusReplyAttribute
- Remove JCRadiusReplyAttribute
User Functions
Administrator Functions
System Functions
- Get JCSystem
- Get JCSystemApp
- Get JCSystemKB
- Set JCSystem
- Remove JCSystem
- Get JCSystemUser
- Set JCSystemUser
- Add JCSystemUser
- Remove JCSystemUser
Command Functions
- New JCCommand
- Get JCCommand
- Import JCCommand
- Remove JCCommand
- Set JCCommand
- Invoke JCCommand
- New JCDeploymentTemplate
- Invoke JCDeployment
- Get JCCommandResult
- Remove JCCommandResult
- Get JCCommandTarget
- Add JCCommandTarget
- Remove JCCommandTarget
Group Functions
- Get JCGroup
- New JCUserGroup
- Remove JCUserGroup
- Get JCUserGroupMember
- Add JCUserGroupMember
- Remove JCUserGroupMember
- New JCSystemGroup
- Remove JCSystemGroup
- Get JCSystemGroupMember
- Add JCSystemGroupMember
- Remove JCSystemGroupMember
- Set-JCUserGroupLDAP
Policy Functions
- Get JCPolicy
- Get JCPolicyResult
- Get JCPolicyTargetSystem
- Get JCPolicyTargetGroup
- New JCPolicy
- Set JCPolicy
Event Functions