Monday, March 23, 2015

Metaverse Attribute Types

Discovery is addictively fun in PowerShell as you can really just keep using the Get-Member command to see what an object does, and Select-Object to see an object in action.

The sync engine has long lacked a DateTime type in the metaverse schema, requiring rules in deployments to convert to/from DataTimes.  DateTime conversions are frequent bug farms, so it would be pretty nice to just direct flow the values through the sync engine.

Anyhow, I was poking around with the new ADSync PowerShell module and took at look at the schema to see if the latest version of sync added any attribute types.

Here are the snippets:

### Get the members of the 'AttributeTypes' property

Get-ADSyncSchema | Select -ExpandProperty AttributeTypes | Get-Member

 

<#

   TypeName: Microsoft.IdentityManagement.PowerShell.ObjectModel.SchemaAttribute

 

Name                            MemberType Definition                                                                                                          

----                            ---------- ----------                                                                                                          

Equals                          Method     bool Equals(System.Object obj)                                                                                      

GetHashCode                     Method     int GetHashCode()                                                                                                   

GetSchema                       Method     System.Xml.Schema.XmlSchema GetSchema(), System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema()                   

GetType                         Method     type GetType()                                                                                                      

ReadXml                         Method     void ReadXml(System.Xml.XmlReader reader), void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)               

ToString                        Method     string ToString()                                                                                                   

WriteXml                        Method     void WriteXml(System.Xml.XmlWriter writer), void IXmlSerializable.WriteXml(System.Xml.XmlWriter writer)             

AllowsMultipleValues            Property   bool AllowsMultipleValues {get;set;}                                                                                

Encrypted                       Property   bool Encrypted {get;set;}                                                                                           

Identifier                      Property   string Identifier {get;set;}                                                                                        

Indexable                       Property   bool Indexable {get;set;}                                                                                           

Indexed                         Property   bool Indexed {get;set;}                                                                                             

Name                            Property   string Name {get;set;}                                                                                              

SupportedAttributeOperationType Property   Microsoft.IdentityManagement.PowerShell.ObjectModel.AttributeOperationType SupportedAttributeOperationType {get;set;}

Type                            Property   Microsoft.IdentityManagement.PowerShell.ObjectModel.SchemaAttributeType Type {get;set;}                             

#>

 

 

### In the above output the 'Type' property is of type: Microsoft.IdentityManagement.PowerShell.ObjectModel.SchemaAttributeType

### We can easily check to see what the supported values are, like this:

[Microsoft.IdentityManagement.PowerShell.ObjectModel.SchemaAttributeType].GetEnumValues()

 

<#

String

Integer

Boolean

Binary

Reference

Number

#>

 

No comments: