/// <summary> /// Finds a DirectoryEntry by it's uid /// </summary> /// <param name="serverName"></param> /// <param name="uid"></param> /// <param name="adminUserName"></param> /// <param name="adminPassword"></param> /// <returns></returns> internal static DirectoryEntry GetDirectoryEntryFromUid(String serverName, Uid uid, string adminUserName, string adminPassword) { DirectoryEntry foundDirectoryEntry = new DirectoryEntry( ActiveDirectoryUtils.GetLDAPPath(serverName, uid.GetUidValue()), adminUserName, adminPassword); string dn = (string)foundDirectoryEntry.Properties["distinguishedName"][0]; foundDirectoryEntry.Dispose(); foundDirectoryEntry = new DirectoryEntry( ActiveDirectoryUtils.GetLDAPPath(serverName, dn), adminUserName, adminPassword); return foundDirectoryEntry; }
public void TestScriptOnConnector() { var builder = new ScriptContextBuilder(); builder.ScriptLanguage = "POWERShell"; builder.ScriptText = "Write-Warning \"Test\"; return $Connector.Arguments.uid.GetUidValue()"; var uid = new Uid("foo", "12345"); builder.AddScriptArgument("uid", uid); var res = GetFacade().RunScriptOnConnector(builder.Build(), null) as Collection<object>; if (res != null) { Assert.AreEqual(res[0], uid.GetUidValue()); } }
public static String ConvertUIDToSearchString(Uid uid) { // e.g. <GUID=8184d4af97d9ed4c949c21665768881b> string uidValue = uid.GetUidValue().ToLowerInvariant(); if (!uidValue.StartsWith("<guid=") || !uidValue.EndsWith(">") || uidValue.Length != 39) { throw new ArgumentException("Unsupported UID format: " + uidValue); } string raw = uidValue.Substring(6, 32); StringBuilder rv = new StringBuilder(); for (int i = 0; i < raw.Length; i += 2) { rv.Append("\\").Append(raw.Substring(i, 2)); } return rv.ToString(); }
public void TestScriptOnConnectorWithCache() { var builder = new ScriptContextBuilder(); builder.ScriptLanguage = "POWERShell"; builder.ScriptText = "$Connector.Configuration.PropertyBag['cache'] = $Connector.Arguments.uid.GetUidValue()"; var uid = new Uid("foo", "12345"); builder.AddScriptArgument("uid", uid); GetFacade().RunScriptOnConnector(builder.Build(), null); builder.ScriptText = "return $Connector.Configuration.PropertyBag['cache']"; var res = GetFacade().RunScriptOnConnector(builder.Build(), null) as List<object>; if (res != null) { Assert.AreEqual(res[0], uid.GetUidValue()); } else { throw new ConnectorException("Not the expected result"); } }