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