Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : supprimer des groupes globaux sans membre dans une AD [ Langages dérivés / VBScript ] (lartiste38)

mardi 22 juillet 2008 à 23:19:53 | supprimer des groupes globaux sans membre dans une AD

lartiste38

Bonsoir,

Je bloque sur la fin de mon script !! Help me !!

J'ai developpé un script qui me permet d'obtenir une liste de tous les groupes globaux vide (càd sans membre) mais je n'arrive pas à les supprimer !!

voici mon script.....

*******************************************************************************************************************************************************
'"Create the file..."
'*******************************************************************************************************************************************************

Domaine = inputbox("Entrez le nom du domaine :")  'Get domaine name

Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
path = WScript.ScriptFullName

Set objFile = objFSO.CreateTextFile("C:\All_Global_Groups of "& domaine &".txt", 2) 'Create the file
Set objFile2 = objFSO.CreateTextFile("C:\Global Groups VIDE of "& domaine &".txt", 2) 'Create the file

'*******************************************************************************************************************************************************
'"List all global group per Domain..."
'*******************************************************************************************************************************************************
Set objExcel = CreateObject("Excel.Application")
Const ADS_SCOPE_SUBTREE = 2

objExcel.Visible = True
objExcel.Workbooks.Add
intRow = 2
objExcel.Cells(1, 1).Value = "Groupes Globaux"
objExcel.Cells(1, 2).Value = "Nombre de membre"
objExcel.Cells(1, 3).Value = "Etat Membre"
objExcel.Cells(1, 4).Value = "Chemin LDAP"
objExcel.Cells(1, 5).Value = "Domaine"
objExcel.Cells(1, 6).Value = "Code Site"

Set objConnection = CreateObject("ADODB.Connection")

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

Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE


objCommand.CommandText = _ 
   "Select ADsPath, name From 'LDAP://ou=OUGroups,ou=CodeSite,dc=" & Domaine & ",dc=MaBoite,dc=com' WHERE objectCategory='group'" & _
      "AND groupType = -2147483646"
      
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Set objGroup = GetObject(objRecordSet.Fields("ADsPath").Value)

objRecordCount = 0
objFile.Writeline objRecordSet.Fields("name").Value

If IsArray(objGroup.Member) Then
   For Each struser In objGroup.Member
       objrecordcount = objrecordcount + 1
   Next
   Else
   If objGroup.Member = Empty Then
         objrecordcount = 0     
         objFile2.Writeline objRecordSet.Fields("name") & "        ; " & Date 
         objExcel.Cells(intRow, 3).Value = "Groupe vide"
         'GGEmpty = objgroup.name
         Else
     objrecordcount = 1
        End If
End If

objExcel.Cells(intRow, 1).Value = objRecordSet.Fields("name").Value
objExcel.Cells(intRow, 2).Value = objRecordCount
objExcel.Cells(intRow, 4).Value = objRecordSet.Fields("ADsPath").Value

objRecordSet.MoveNext
intRow = intRow + 1
Loop
objExcel.Range("A1:D1").Select
objExcel.Selection.Interior.ColorIndex = 19
objExcel.Selection.Font.ColorIndex = 11
objExcel.Selection.Font.Bold = True
objExcel.Cells.EntireColumn.AutoFit
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
Set objRange = objExcel.Range("A1")
objRange.Sort objRange,1,,,,,,1
MsgBox "Le chargement est maintenant terminé ! "


Lartiste38

mercredi 23 juillet 2008 à 01:32:56 | Re : supprimer des groupes globaux sans membre dans une AD

PCPT

Administrateur CodeS-SourceS
thème topic : déplacé de VB6 vers VBS

jeudi 24 juillet 2008 à 11:26:07 | Re : supprimer des groupes globaux sans membre dans une AD

MisterWhiteLapin

Tu utilises Excel dans ton Script. Il est installé? il fonctionne normallement?

--
MisterWhiteLapin


jeudi 24 juillet 2008 à 19:23:49 | Re : supprimer des groupes globaux sans membre dans une AD

lartiste38

Réponse acceptée !
bonsoir MisterWhiteLapin,

Aucun souci avec Excel... J'ai même testé mon script sans excel et cela ne fonctionne pas mieux.
mais finalement j'ai abondonné l'idée de suppr des groupes via un script (trop risqué). je vais deplacer mes groupes vides dans une autres OU (ou=groupesvideAsuppr) dans mon domaine puis suppr à la mano.

voici le bout de code :

If objGroup.Member = Empty Then
   objrecordcount = 0     
   objFile2.Writeline objRecordSet.Fields("name") & "        ; " & Date 
  
Set objNewOu= GetObject("LDAP://ou=groupesvideAsuppr,ou=CodeSite,dc=" & Domaine & ",dc=MaBoite,dc=com")
        objNewOu.Filter = Array("group")
        MsgBox objgroup.name
        objNewOu.MoveHere objgroup.ADsPath, vbNullString
         Else

        objrecordcount = 1
        End If
End If


Lartiste38



Cette discussion est classé dans : set, domaine, value, cells, objexcel


Répondre à ce message

Sujets en rapport avec ce message

[vb6 excel] [ par tof008 ] Bonjour à tous! J'espere trouver une âme charitable qui pourra m'aider à résoudre mon problême... A partir de vb6, j'envoie des infos sous excel puis Test existence colonne dans xls pour suppression de la colonne [ par jeanluc065 ] Bonjour à toutes et tous, En access 2002, catégorie super novice, ...J'utlise un code ( qui m'a été écrit par de sympas contributeurs de ce site ) pou DATAGRIDVIEW rowindex=-1 vb2005 j'y arrive po , ouinnn [ par vercomax ] Bonjour,je dois préciser que je travaille sur une table lié par une relation à une autre.donc, quand je clique sur la nouvelle ligne proposée grace à End if sans bloc if [ par jeanluc065 ] Bonjour à toutes et tous, En access 2002, JMO m'avait écrit une fonction qui marche très bien et  j'ai essayé de l'adapter mais j'obtiens un message d Macro qui ne se lance que sur un onglet [ par Don_Cagoule ] Bonjour,Je fais face à un problème d'exécution dans l'un de mes tableurs excel, et comme j'ai déjà trouvé pas mal de réponses sur ce site, j'espère qu VBA : Gestion de lignes dans une feuille Excel [ par coeur51 ] Bonjour à tous,Débutant en VBA, j'aurai besoin de votre expèrienceainsi que de votre aide.J'ai réalisé une petite macro en VBA dans une feuille Excel. Erreur 424 Objet requis Macro Excel [ par Gagou_c ] Bonjour,Je dois faire une macro avec excel qui consiste à parcourir une colonne, et pour chaque ligne trouver la référence correspondante dans une tab [VBA] Need help [ par Sn1Pa ] Voila je débute en VBA et je dois modifier une maccro déja existente pour la mettre à jour.Je vais essayé de vous expliquez :La maccro doit générer un créer un feuille et la nommer [ par jeanluc065 ] Bonjour, En access 2002, j'utilise un code ( fourni aimablement par JMO,  un participant de ce site ) et je voudrais y ajouter1 - la création d'une fe ajout d'une feuille, la renommer, attribuer une valeur [ par jeanluc065 ] Bonjour, JMO m'a écrit une fonction qui sert à renommer les feuilles 3,4 et 5 de tous les fichiers .xls contenus dans le répertoire C:\aa2\clients.Dan


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.