Удалить компьютер Active Directory с формами окон c # [дублировать]

note для пользователей php 7, добавьте это в свой файл httpd.conf:

# PHP 7 specific configuration
<IfModule php7_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
3
задан Yuval Itzchakov 21 November 2014 в 15:10
поделиться

4 ответа

Используя ADSI, который находится под System.DirectoryServices, используйте механизм фиксации, вот рабочий пример:

/* Retreiving RootDSE infos
 */
string ldapBase = "LDAP://WM2008R2ENT:389/";
string sFromWhere = ldapBase + "rootDSE";
DirectoryEntry root = new DirectoryEntry(sFromWhere, "dom\\jpb", "PWD");
string defaultNamingContext = root.Properties["defaultNamingContext"][0].ToString();

/* Retreiving the computer to remove
 */
sFromWhere = ldapBase + defaultNamingContext;
DirectoryEntry deBase = new DirectoryEntry(sFromWhere, "dom\\jpb", ".biènèsph^r^.1966");

DirectorySearcher dsLookForDomain = new DirectorySearcher(deBase);
dsLookForDomain.Filter = "(&(cn=MACHSUPR))"; // MACHSUPR is the computer to delete
dsLookForDomain.SearchScope = SearchScope.Subtree;
dsLookForDomain.PropertiesToLoad.Add("cn");
dsLookForDomain.PropertiesToLoad.Add("distinguishedName");

SearchResultCollection srcComputer = dsLookForDomain.FindAll();

foreach (SearchResult aComputer in srcComputer)
{
  /* For each computer
   */
  DirectoryEntry computerToDel = aComputer.GetDirectoryEntry();
  computerToDel.DeleteTree();
  computerToDel.CommitChanges();
}
2
ответ дан JPBlanc 18 August 2018 в 22:47
поделиться
  • 1
    спасибо, мне удалось заставить его работать на основе кода, который вы предоставляете. – ikel 27 October 2011 в 15:44

Использовать пространство имен WMI и System.DirectoryServices (http://msdn.microsoft.com/en-us/library/system.directoryservices.aspx).

0
ответ дан Jeremy 18 August 2018 в 22:47
поделиться

Это может быть не совсем то, что вы ищете, но этот сайт предоставляет ряд примеров кода для работы с AD на C #, включая удаление группы безопасности и удаление пользователя из группы

0
ответ дан kaveman 18 August 2018 в 22:47
поделиться
  • 1
    спасибо, но я обнаружил, что на веб-сайте нет информации об учетных записях компьютеров – ikel 27 October 2011 в 01:59

Если вы используете .NET 3.5 и выше (если вы не время для обновления!), вы должны проверить пространство имен System.DirectoryServices.AccountManagement (S.DS.AM). Подробнее читайте здесь:

В принципе, вы можете определить контекст домена и легко найти пользователей и / или группы в AD:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find the computer in question
ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(ctx, "NAME");

// if found - delete it
if (computer != null)
{
   computer.Delete();
}

Новый S.DS .AM позволяет очень легко играть с пользователями, компьютерами и группами в AD!

3
ответ дан marc_s 18 August 2018 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: