Je rechercher comment faire pour lister tous les utilisateurs qui ce trouve
dans le group Administrateurs
Pour faire ma recherche j'utilise la class Win32_GroupUser
l'utilisation seule de la class me donne pleint d'information inutile, donc
j'utilise dans ma class une Extention qui est WHERE, mais je sais pas le
faire fonctionner avec !
Voila le code !
__________________________
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_GroupUser
where GroupComponent = Administrateur )
Dim info As ManagementObject
For Each info In search.Get()
'Domain Admins
'Debug.WriteLine(info.ToString)
On Error Resume Next
Debug.WriteLine("Part: " & info("PartComponent").ToString())
Debug.WriteLine("Group: " & info("GroupComponent").ToString())
Next
__________________________
Pouvez vous me dire ou je me suis planté ?
merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Oleane ! :O)
Tu peux procéder via une requête Select comme ceci : '*** Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine" Dim sGroup As String = "mon_groupe" Dim sWQL As String = String.Format("select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='{0}',Name='{1}'""", sDomain, sGroup) Dim sScope As String = String.Format("{0}rootcimv2", Environment.MachineName)
Dim woq As New SelectQuery(sWQL) Dim msc As New ManagementScope(sScope) Dim mos As New ManagementObjectSearcher(msc, woq) For Each mo As ManagementObject In mos.Get() Console.WriteLine(mo.GetPropertyValue("PartComponent")) Next
End Sub
End Module '***
Il semblerait qu'il soit plus rapide de passé via une requête de type "association" si tu cherches des infos sur les utilisateurs : Voici un exemple : '*** Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine" Dim sGroup As String = "mon_groupe" Dim sWQL As String = String.Format("associators of {Win32_Group.Domain=""{0}"",Name=""{1}""} where AssocClass = Win32_GroupUser ResultRole = PartComponent", sDomain, sGroup) Dim sScope As String = String.Format("{0}rootcimv2", Environment.MachineName)
Dim woq As New WqlObjectQuery(sWQL) Dim msc As New ManagementScope(sScope) Dim mos As New ManagementObjectSearcher(msc, woq) For Each mo As ManagementObject In mos.Get() Console.WriteLine(mo.GetPropertyValue("Name")) Next
End Sub
End Module '***
-- Cordialement Yanick MVP pour Visual Basic "Oleane" a écrit dans le message de news:dbg8b7$c6g$
Bonjour a tous
Je rechercher comment faire pour lister tous les utilisateurs qui ce
trouve
dans le group Administrateurs
Pour faire ma recherche j'utilise la class Win32_GroupUser l'utilisation seule de la class me donne pleint d'information inutile,
donc
j'utilise dans ma class une Extention qui est WHERE, mais je sais pas le faire fonctionner avec !
Voila le code ! __________________________
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_GroupUser where GroupComponent = Administrateur ) Dim info As ManagementObject For Each info In search.Get() 'Domain Admins 'Debug.WriteLine(info.ToString) On Error Resume Next Debug.WriteLine("Part: " & info("PartComponent").ToString()) Debug.WriteLine("Group: " & info("GroupComponent").ToString()) Next __________________________
Pouvez vous me dire ou je me suis planté ? merci d'avance
Salut Oleane ! :O)
Tu peux procéder via une requête Select comme ceci :
'***
Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine"
Dim sGroup As String = "mon_groupe"
Dim sWQL As String = String.Format("select * from win32_groupuser
where GroupComponent=""Win32_Group.Domain='{0}',Name='{1}'""", sDomain,
sGroup)
Dim sScope As String = String.Format("\{0}rootcimv2",
Environment.MachineName)
Dim woq As New SelectQuery(sWQL)
Dim msc As New ManagementScope(sScope)
Dim mos As New ManagementObjectSearcher(msc, woq)
For Each mo As ManagementObject In mos.Get()
Console.WriteLine(mo.GetPropertyValue("PartComponent"))
Next
End Sub
End Module
'***
Il semblerait qu'il soit plus rapide de passé via une requête de type
"association" si tu cherches des infos sur les utilisateurs :
Voici un exemple :
'***
Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine"
Dim sGroup As String = "mon_groupe"
Dim sWQL As String = String.Format("associators of
{Win32_Group.Domain=""{0}"",Name=""{1}""} where AssocClass = Win32_GroupUser
ResultRole = PartComponent", sDomain, sGroup)
Dim sScope As String = String.Format("\{0}rootcimv2",
Environment.MachineName)
Dim woq As New WqlObjectQuery(sWQL)
Dim msc As New ManagementScope(sScope)
Dim mos As New ManagementObjectSearcher(msc, woq)
For Each mo As ManagementObject In mos.Get()
Console.WriteLine(mo.GetPropertyValue("Name"))
Next
End Sub
End Module
'***
--
Cordialement
Yanick
MVP pour Visual Basic
"Oleane" <Shagn@Shagn.Shagn> a écrit dans le message de
news:dbg8b7$c6g$1@s1.news.oleane.net...
Bonjour a tous
Je rechercher comment faire pour lister tous les utilisateurs qui ce
trouve
dans le group Administrateurs
Pour faire ma recherche j'utilise la class Win32_GroupUser
l'utilisation seule de la class me donne pleint d'information inutile,
donc
j'utilise dans ma class une Extention qui est WHERE, mais je sais pas le
faire fonctionner avec !
Voila le code !
__________________________
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_GroupUser
where GroupComponent = Administrateur )
Dim info As ManagementObject
For Each info In search.Get()
'Domain Admins
'Debug.WriteLine(info.ToString)
On Error Resume Next
Debug.WriteLine("Part: " & info("PartComponent").ToString())
Debug.WriteLine("Group: " & info("GroupComponent").ToString())
Next
__________________________
Pouvez vous me dire ou je me suis planté ?
merci d'avance
Tu peux procéder via une requête Select comme ceci : '*** Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine" Dim sGroup As String = "mon_groupe" Dim sWQL As String = String.Format("select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='{0}',Name='{1}'""", sDomain, sGroup) Dim sScope As String = String.Format("{0}rootcimv2", Environment.MachineName)
Dim woq As New SelectQuery(sWQL) Dim msc As New ManagementScope(sScope) Dim mos As New ManagementObjectSearcher(msc, woq) For Each mo As ManagementObject In mos.Get() Console.WriteLine(mo.GetPropertyValue("PartComponent")) Next
End Sub
End Module '***
Il semblerait qu'il soit plus rapide de passé via une requête de type "association" si tu cherches des infos sur les utilisateurs : Voici un exemple : '*** Option Explicit On
Imports System.management
Module MainModule
Public Sub Main()
Dim sDomain As String = "mon_domaine" Dim sGroup As String = "mon_groupe" Dim sWQL As String = String.Format("associators of {Win32_Group.Domain=""{0}"",Name=""{1}""} where AssocClass = Win32_GroupUser ResultRole = PartComponent", sDomain, sGroup) Dim sScope As String = String.Format("{0}rootcimv2", Environment.MachineName)
Dim woq As New WqlObjectQuery(sWQL) Dim msc As New ManagementScope(sScope) Dim mos As New ManagementObjectSearcher(msc, woq) For Each mo As ManagementObject In mos.Get() Console.WriteLine(mo.GetPropertyValue("Name")) Next
End Sub
End Module '***
-- Cordialement Yanick MVP pour Visual Basic "Oleane" a écrit dans le message de news:dbg8b7$c6g$
Bonjour a tous
Je rechercher comment faire pour lister tous les utilisateurs qui ce
trouve
dans le group Administrateurs
Pour faire ma recherche j'utilise la class Win32_GroupUser l'utilisation seule de la class me donne pleint d'information inutile,
donc
j'utilise dans ma class une Extention qui est WHERE, mais je sais pas le faire fonctionner avec !
Voila le code ! __________________________
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_GroupUser where GroupComponent = Administrateur ) Dim info As ManagementObject For Each info In search.Get() 'Domain Admins 'Debug.WriteLine(info.ToString) On Error Resume Next Debug.WriteLine("Part: " & info("PartComponent").ToString()) Debug.WriteLine("Group: " & info("GroupComponent").ToString()) Next __________________________
Pouvez vous me dire ou je me suis planté ? merci d'avance