Exemple #1
0
    protected void btnRun_Click(object sender, EventArgs e)
    {
        lblOutput.Text = "";
        List <OU> ous = OU.GetOUs();

        foreach (string line in txtInput.Text.Split(new char[] { '\r', '\n' }))
        {
            if (line != "")
            {
                if (line.Count(x => x == ';') == 1)
                {
                    string manr        = line.Split(';')[0];
                    string stabsnummer = line.Split(';')[1].ToUpper().Trim();

                    ADUser au = ADUser.Find(manr);

                    if (au != null)
                    {
                        bool foundOU = false;

                        if (stabsnummer == "")
                        {
                            OU ext = OU.GetOU("EKSTERN MYN");

                            if (ext != null)
                            {
                                foundOU = true;

                                if (au.OU != ext.DistinguishedName)
                                {
                                    ADUser.Move(au.AccountName, ext.DistinguishedName, ext.DisplayName);
                                    lblOutput.Text += manr + " flyttet til " + ext.DisplayName + "<br />";
                                }
                                else
                                {
                                    lblOutput.Text += manr + " allerede i korrekt OU; " + ext.DisplayName + "<br />";
                                }
                            }
                        }
                        else
                        {
                            foreach (OU o in ous)
                            {
                                if (o.Regex != null && o.Regex.IsMatch(stabsnummer))
                                {
                                    foundOU = true;

                                    if (au.OU != o.DistinguishedName)
                                    {
                                        ADUser.Move(au.AccountName, o.DistinguishedName, o.DisplayName);
                                        lblOutput.Text += manr + " flyttet til " + o.DisplayName + "<br />";
                                    }
                                    else
                                    {
                                        lblOutput.Text += manr + " allerede i korrekt OU; " + o.DisplayName + "<br />";
                                    }

                                    break;
                                }
                            }
                        }

                        if (!foundOU)
                        {
                            lblOutput.Text += manr + " ikke flyttet da ingen OU matchede " + stabsnummer + "<br />";
                        }
                    }
                    else
                    {
                        lblOutput.Text += manr + " findes ikke<br />";
                    }
                }
                else
                {
                    lblOutput.Text += "Fejl på linje: " + line + "<br />";
                }
            }
        }
    }