begin process at 2012 02 13 01:19:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

VBScript

 > 

groupe active directory


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

groupe active directory

mardi 27 novembre 2007 à 12:30:58 | groupe active directory

khayes

Bonjour a vous,
voila ma problematique : retirer les comptes désactivés des groupes de diffusion.
j'arrive tres bien à parcourir tous les comptes de l'active directory, à filtrer ceux qui sont désactiver et à identifier ceux qui sont membres d'un groupe de diffusion.
Cependant je n'arrive pas à retirer cet utilisateur du groupe de diffusion, j'obtiens le message d'erreur suivant
ligne 52
caract 3
la propriete repertoire n'est pas presente dans le cache
code 8000500d
source: active directory

à titre de test (et de sauvegarde), j'enregistre dans un fichier excel les groupes à supprimer

merci pour votre aide


Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = FALSE
Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)

Const ADS_SCOPE_SUBTREE = 2

'Connection a l'Active Directory
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

'Requete d'utilisateurs dans l'Active Directory
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 3000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT distinguishedName FROM 'LDAP://dc=xxx,dc=xxx,dc=fr' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

'Ecriture des titres de colonnes Excel
objExcel.Cells(1, 1).Value = "CONTAINER"
objExcel.Cells(1, 2).Value = "GROUPE"

'Appel de la fonction pour tous les utilisateurs de l'AD et pointeur sur la 2eme ligne du document Excel
x = 2
Do Until objRecordSet.EOF
    CleanDistrib(objRecordSet.Fields("distinguishedName").Value)   
    objRecordSet.MoveNext
Loop

Function CleanDistrib(utilisateur)
    Const ADS_PROPERTY_DELETE = 4
    Set objUser = GetObject("LDAP://"+utilisateur) 'selectionne un  utilisateur
   
    If objUser.AccountDisabled = True Then '1er filtrage : seulement les utilisateurs desactives
        arrMemberOf = objUser.GetEx("memberOf") 'recuperation des groupes dont l'utilisateur est membre
        intPrimaryGroupID = objUser.Get("primaryGroupID")

        For Each Group in arrMemberOf
            if InStr(group, "Destinataires") then '2eme filtrage : uniquement les groupes de diffusion
                'Enregistrement dans excel du groupe de diffusion de l'utilisateur
                objExcel.Cells(x, 1).Value = utilisateur
                objExcel.Cells(x, 2).Value = group
                x = x + 1
                'Suppression de l'utilisateur du groupe de diffusion
                set ObjGroup = GetObject ("LDAP://"&group)
                ObjGroup.PutEx ADS_PROPERTY_DELETE, "member", Array(utilisateur)
                ObjGroup.SetInfo
                wscript.echo "groupe "+group+" supprimé pour "+utilisateur
            end if
        Next
    End If
End Function

'mise en forme du document excel
Set objRange = objExcel.Range("A1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("B1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

'enregistrement du document excel
objWorkbook.SaveAs("C:\vbs\group.xls")
objExcel.Quit


Cette discussion est classée dans : utilisateur, active, groupe, diffusion, objexcel


Répondre à ce message

Sujets en rapport avec ce message

Nom de Groupe - AD - ASP [ par cbu ] Bonjour,je suis à la recherche d'un petit bout de code qui me permettrait de retrouver le group d'un utilisateur d'un Active directory d'un serveur Wi récupérer infos ActiveDirectory pour utilisateur courant [ par Onizukasan ] Bonjour à tous,tout d'abord j'utilise Visual Studio .NET 2003 et framework 1.1 je souhaite mettre en place une gestion des droits d'accès sur une ap Active Directory Role [ par jostag ] Bonjour a tous,je fais présentement mon travail de fin de DEC en programmation et j'ai décidé de faire un projet asp.net (vb ou c#, j'ai pas encore ch informations sur un utilisateur dans l'active directory de Win2000 [ par stefdef ] Comment fait-on pour récupérer par exemple l'email d'un utilisateur précis dans l'active directory???(je suis débutant en asp, alors merci d'etre clai Utilisateur "Inactif" sur Active directory [ par neferti ] Bonjour,Je suis actuellement en stage et je souhaiterais savoir s'il est possible de mettre un objet de la classe User en statut inactif et de l'activ authentification asp .net + active directory [ par ebmohamed ] comment faire pour vérifier à partir d'un formulaire asp.net qu'un utilisateur appartient aux domaines spécifiés dans active directory pour lui autori groupe de controle [HELP !!!!] [ par ctof3552 ] slt!j'ai un formulaire qui contient 10 fois la meme ligne, a savoir 1 dropDownList et 1 textBox. Est il possible de grouper les items identiques, tel Gestion de profils et interface [ par eaf ] J'ai crée sur mon site une gestion de profil utilisateur.Ce que je voudrais maintenant c'est, comme mon interface change en fonction des profils, évi inserer des users ds active directory via un batch [ par quincailler ] Bonjour a tous,voilà, je dispose d'un fichier texte, contenant tous els noms des personnes que je voudrais inscrire ds un groupe précis de l'active di Problème connexion BD SQL avec ASP.NET [ par dekico76 ] Tout d'abord salut à tous,Voila g un petit problème de connexion, je voudrais me connecter à une BD SQL en utilisant l'authentification Windows avec u


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales