XElement root2 = XElement.Parse(xmlString);
IEnumerabletests =
from el in root2.Elements("Root")
where (string)el.Element("elementName") == "searchPattern"
select el.Element("pickElement");
string cc= tests.Single().Value;
Search
Basic Linq to XML
This example shows a bsic Linq to XML.
Parse connection string
This C# code snippet parses the specified connection string to find the host name, instance name, and database name. It returns them in a GroupCollection .
using System.Text.RegularExpressions; ... const string CONNECTION_STRING_PATTERN = @"=(?The following is an alternative method:.+);Initial Catalog=(? \w+);"; static readonly Regex ConnectionString_Regex = new Regex (CONNECTION_STRING_PATTERN, RegexOptions.IgnoreCase); static GroupCollection ParseConnectionString (string inputString) { Match match = ConnectionString_Regex.Match (inputString); return match.Groups; }
static void ParseConnectionString(string inputString) { SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(inputString); // retrieve Data source and Db name ; even user id and password using builder instance // like builder.DataSource(Server name);builder.InitialCatalog(DB Name); // builder.UserID(User Id);builder.Password(Password) }
Create Account in Active Directory
using System.DirectoryServices; using System.DirectoryServices.ActiveDirectory; using System.DirectoryServices.AccountManagement; namespace ActiveDirectory_User { class Program { public class User { public string Firstname; public string Lastname; public string LoginId; public string Office; public string EmailAddress; public bool IsDisabled; public User() {} public User(string firstName, string lastName) { Firstname = firstName; Lastname = lastName; } public User(string firstName, string lastName, string office = "London",) { Firstname = firstName; Lastname = lastName; Office = office; } } static void Main(string[] args) { } public static void CreateOU(string ou) { try { if (!DirectoryEntry.Exists("LDAP://PLABDC01/ou=" + ou + ",dc=PRACTICELABS,dc=COM")) { try { DirectoryEntry ActiveDirectory = new DirectoryEntry("LDAP://PLABDC01/dc=PRACTICELABS,dc=COM", "Administrator", "Passw0rd"); DirectoryEntry NewOU = ActiveDirectory.Children.Add("OU=" + ou, "OrganizationalUnit"); NewOU.CommitChanges(); ActiveDirectory.CommitChanges(); Console.WriteLine("Created OU:{0}", ou); } catch (Exception error) { Console.WriteLine("An error occured while creating group:{0} :\n{1}", ou, error.Message); } } else { Console.WriteLine("OU already exists"); } } catch (Exception error) { Console.WriteLine("We couldnt connect to AD! Is the server powered on?. Exception generated was\n{0}", error.Message); } } public bool CreateAccount() { // wrap our connection in a try catch block which will safeguard us against application crash if for example we can't connect to AD try { string FullPath = "LDAP://PLABDC01/ou=" + Department + ",dc=PRACTICELABS,dc=COM"; // Active directory connection DirectoryEntry Directory = new DirectoryEntry(FullPath, "Administrator", "Passw0rd"); // New user DirectoryEntry NewUser = Directory.Children.Add("CN=" + LoginId, "user"); // givenName is first name NewUser.Properties["givenName"].Value = Firstname; // sn is last name NewUser.Properties["sn"].Value = Lastname; // login id NewUser.Properties["sAMAccountName"].Value = LoginId; // office NewUser.Properties["physicalDeliveryOfficeName"].Value = Office; // commit the new user NewUser.CommitChanges(); // update the user to be enabled, here we CAST the value as an integer (i.e. we instruct the compiler that the return type value will be an int. // casting this will cause exceptions if the return type is not what you specify so beware! int val = (int)NewUser.Properties["userAccountControl"].Value; NewUser.Properties["userAccountControl"].Value = val & ~0x2; NewUser.CommitChanges(); // everything worked ok, return a value of true return true; } catch (Exception error) { // an error occured, write the error message out and return a value of false Console.Write("An error occured while creating user:{0} {1}: \n{2}", Firstname, Lastname, error.Message); return false; } } public bool DisableAccount() { try { DirectoryEntry Directory = new DirectoryEntry("LDAP://dc=PRACTICELABS,dc=COM"); DirectorySearcher SearchAD = new DirectorySearcher(Directory); SearchAD.Filter = "(SAMAccountName=" + LoginId + ")"; SearchAD.CacheResults = false; SearchResult result = SearchAD.FindOne(); Directory = result.GetDirectoryEntry(); Directory.Properties["userAccountControl"].Value = 0x0002; Directory.CommitChanges(); return true; } catch (Exception error) { Console.WriteLine("An error occured when disabling this user:{0}\n{1}", LoginId, error.Message); return false; } }// } }
Subscribe to:
Posts
(
Atom
)