Represents a history entry of each password change request from the originating connected data source. To use this class, you must be logged on as a member of either the MIISBrowse security group or the MIISAdmins security group.
The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties.
class MIIS_PasswordChangeHistorySource{ String CsGuid; String DN; String GUID; String MaGuid; String MIISReceiveTime; String ReferenceGuid; String ReturnCode; String SourceServer; String SourceChangeTime; } |
Name : MIIS_PasswordChangeHistorySource
Methods
Method | Description |
---|---|
Returns the details, in XML format, of a history entry for each password change request that is sent from the originating connected data source to the Forefront Identity Manager Synchronization Service (FIM Synchronization Service) server in XML format. |
Properties
Property | Data Type | Description |
---|---|---|
String |
Gets the connector space GUID of the object. |
|
String |
Gets the distinguished name of the object. |
|
String |
Qualifiers : Key Gets the tracking GUID that is used to identify the password change request. This value is assigned by the FIM Synchronization Service server to track the password change request. |
|
String |
Gets the GUID of the management agent that receives the password change request. |
|
String |
Gets the date and time in Coordinated Universal Time (UTC, also known as Greenwich Mean Time) that the password change was received by the FIM Synchronization Service server. |
|
String |
Gets the reference GUID that is assigned by the FIM Password Change Notification Service in the domain controller of the password change request. |
|
String |
Gets the results of the password change request. |
|
String |
Gets the date and time in UTC that the password was changed on the source server. |
|
String |
Gets the name of the source server that changed the password. |
Remarks
The class supports the following restricted set of queries:
- Search for a history entry that has a
specified connector space object GUID by using the CsGuid Property in
the query field. You can obtain this GUID from the Guid Property, for
example:
Set changeHistories = Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource WHERE CsGuid = '" & MIIS_CSObject.Guid & "')"
.
- Search for a history entry that occurred
before or after a specified time by using the MIISReceiveTime
Property in the query field, for example:
Set changeHistories = Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource WHERE MIISReceiveTime > '2004-10-14 03:25:07.221'")
.
Note: You cannot search for a history entry that occurred at a specified time. - Search for a history entry from a specified
management agent by using the MaGuid Property in
the query field. You can obtain the GUID of the management agent
from the Guid
Property, for example:
Set changeHistories = Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource WHERE MaGuid = '" & MIIS_ManagementAgent.Guid & "')"
.
- Search for a history entry from a specified
reference GUID by using the ReferenceGuid
Property in the query field. You can obtain the reference GUID
from the ReferenceGuid
Property or the ReferenceGuid
Property, for example:
Set changeHistories = Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource WHERE ReferenceGuid = '" & MIIS_PasswordChangeHistoryTarget.ReferenceGuid & "')"
.
- Search for a history entry from a specified
GUID that is assigned to this object by using the GUID Property in the
query field. You can obtain the GUID from the EventDetails Method,
for example:
Set changeHistories = Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource WHERE Guid = '" &
GUID From the EventDetails method& "')"
.
Each query field can only appear one time, except when
you are searching for a history entry that occurred before or after
a specified time. You can combine query fields using the AND
operator, for example: Set changeHistories =
Service.ExecQuery("Select * from MIIS_PasswordChangeHistorySource
WHERE MaGuid = '" & MIIS_ManagementAgent.Guid & "' AND
CsGuid = '" & MIIS_CSObject.Guid & "')"
.
In the previous example, the WHERE statement can use the following items:
ReferenceGuid = guid
MIISReceiveTime < time, MIISReceiveTime > time
, (MIISReceiveTime > time AND MIISReceiveTime < time
)
CsGuid = guid
GUID = guid
MaGuid = guid
Each Query Field can appear only one time. All of them can be joined using the AND operator.
Example
The following Microsoft Visual Basic Scripting Edition (VBScript) example shows how to use this class to get the password change history by user.
Visual Basic Script | Copy Code |
---|---|
Option Explicit On Error Resume Next Const PktPrivacy = 6 ' Authentication level Dim Service ' Service object Dim queryString ' SQL Query string Dim userName ' sAMAccountName of the user Dim domainName ' User domain Dim errorString ' Error string Dim statusString ' Status string Dim CSUsers ' Connector space user collection Dim User ' Connector space user Dim changeHistories ' Change history collection Dim changeHistory ' Change history member userName = "jeffsmith" domainName ="fabrikam" Set Service = GetObject("winmgmts:{authenticationLevel=PktPrivacy}!root\MicrosoftIdentityIntegrationServer") If err.number<>0 then errorString = "Could not retrieve service object: " errorString = errorString & Err.Description ErrorHandler(errorString) End If queryString = "Select * From MIIS_CSObject WHERE Domain = " queryString = queryString & "'" & domainName & "' " queryString = queryString & "and account = '" & userName & "'" Set CSUsers = Service.ExecQuery(queryString) If err.number <> 0 then errorString = "Could not find the user: " errorString = errorString & err.Description ErrorHandler(errorString) End If If CSUsers.Count = 0 then statusString = "No users with that sAMAccountName." ErrorHandler(statusString) End If For each User in CSUsers queryString = "Select * from MIIS_PasswordChangeHistorySource WHERE " queryString = queryString & "CsGuid = '" queryString = queryString & User.Guid & "'" Set changeHistories = Service.ExecQuery(queryString) If err.number <> 0 then errorString = "Could not retrieve password change history: " errorString = errorString & Err.Description ErrorHandler(errorString) End If If changeHistories.Count = 0 then statusString = "There are no password change histories for the " statusString = statusString & "user " & User.Account & "." WScript.Echo statusString Else For Each changeHistory in changeHistories statusString = "Change History for this user " statusString = statusString & userName &":" WScript.Echo statusString WScript.Echo changeHistory.eventDetails Next End If Next Sub ErrorHandler (ErrorMessage) WScript.Echo ErrorMessage WScript.Quit(1) End Sub |
Requirements
Product |
Forefront Identity Manager Synchronization Service 2010 |
MOF |
Mmswmi.mof |
Namespace |
MicrosoftIdentityIntegrationServer |