Quantcast
Channel: Forum Microsoft Identity Manager
Viewing all articles
Browse latest Browse all 1783

ECMA extension error during Import

$
0
0

Hi,

I am writing my own Extension project to provision users to Lync.

At the moment, I'm only testing out the import functionality. However, everytime I do a full import, I get an invalid-attribute-value on DistinguishedName. The value being passed is a proper DN ("CN=Joe Bloggs,OU=LyncUsers,DC=testlab,DC=com"), and I even tried passing a dummy string "foo", but I always get the same error.

In the Import code, I set the DN correctly as far as I can tell:

public GetImportEntriesResults GetImportEntries(GetImportEntriesRunStep importRunStep)
        {
            GetImportEntriesResults importReturnInfo;
            List<CSEntryChange> csentries = new List<CSEntryChange>();

            InitialSessionState initial = InitialSessionState.CreateDefault();
            initial.ImportPSModule(new string[] { "C:\\Program Files\\Common Files\\Microsoft Lync Server 2010\\Modules\\Lync\\Lync.psd1" });
            Runspace runspace = RunspaceFactory.CreateRunspace(initial);
            runspace.Open();
            PowerShell ps = PowerShell.Create();
            ps.Runspace = runspace;

            // get-csaduser -filter {Enabled =eq $True -and SipAddress -ne $Null}
            ps.Commands.AddCommand("Get-csaduser");
            ps.Commands.AddCommand("where-object");
            ScriptBlock filter = ScriptBlock.Create("$_.Enabled -eq $True -and $_.SipAddress -ne $Null");
            ps.AddParameter("FilterScript", filter);

            foreach (PSObject result in ps.Invoke())
            {
                string myDN = string.Format("CN={0},OU=LyncUsers,DC=testlab,DC=com",result.Members["displayName"].Value);
                CSEntryChange csentry1 = CSEntryChange.Create();
                csentry1.ObjectModificationType = ObjectModificationType.Add;
                csentry1.ObjectType = "user";
                csentry1.DN = myDN;

                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("firstName", result.Members["firstName"].Value));
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("LastName", result.Members["lastName"].Value));
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("EmployeeID", result.Members["employeeID"].Value);
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("accountName", result.Members["samAccountName"].Value));
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("SipAddress", result.Members["SipAddress"].Value));
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("ID", "testlab\\" + result.Members["samAccountName"].Value));
                csentry1.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("Domain", "testlab"));
                csentries.Add(csentry1);
            }
            importReturnInfo = new GetImportEntriesResults();
            importReturnInfo.MoreToImport = false;
            importReturnInfo.CSEntries = csentries;
            return importReturnInfo;
        }

Any idea why I'm getting this error repeatedly?

Thanks in advance


Viewing all articles
Browse latest Browse all 1783

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>