Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1562 | Anzahl registrierter User: 1893 | Besucher online: 241
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Ermittelt alle Gruppenmitgliedschaften eines Users auf einem


Autor: stol
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 6891
  
Kick it on dotnet-kicks.de  

Beschreibung:

Ermittelt alle Gruppenmitgliedschaften eines Users auf einem Remotesystem

using System.Collections.Generic;
using System.Management;


Abgelegt unter: WMI, Account.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/// <summary>
/// Ermittelt alle Gruppenmitgliedschaften eines Users auf einem Remotesystem
/// </summary>
/// <param name="ComputerName"></param>
/// <param name="UserName"></param>
/// <returns></returns>
public static Dictionary<string, string> GetLocalGroupMemberShip(string ComputerName, string UserName)
{
    Dictionary<string, string> LocalGroups = new Dictionary<string, string>();
    ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Group WHERE LocalAccount = TRUE");
    ManagementScope ms = new ManagementScope("\\\\" + ComputerName + "\\root\\cimv2");
    mos.Scope = ms;
    try
    {
        mos.Scope.Connect();
    }
    catch (Exception)
    {
        return null;
    }

    foreach (ManagementObject mo in mos.Get())
    {
        ManagementObjectSearcher userSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_GroupUser Where GroupComponent = \"Win32_Group.Domain=\'" + ComputerName + "\',Name=\'" + mo["Name"] + "\'\"");
        userSearcher.Scope = ms;
        try
        {
            userSearcher.Scope.Connect();
            foreach (ManagementObject userObject in userSearcher.Get())
            {
                string UName = userObject["PartComponent"].ToString();
                UName = UName.Substring(UName.IndexOf("=") + 1);
                string Domain = UName.Substring(0, UName.IndexOf((","))).Replace("\"", "");
                UName = UName.Substring(UName.IndexOf("=") + 1).Replace("\"", "");
                if (UName.IndexOf(UserName, 0, StringComparison.OrdinalIgnoreCase) == 0)
                    LocalGroups.Add(mo["Name"].ToString(), Domain + "\\" + UName);
            }
        }
        catch (Exception)
        {
        }
    }
    return LocalGroups;
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] Betriebssystem mit WMI auslesen
[VB.NET] WMI Hardware Wrapper
[VB.NET] Installierte Programme und Hotfixes per WMI abfragen
[VB.NET] OS Informationen
[VB.NET] Anwendung deinstallieren
[C#] WMI Getter
[C#] Anzahl logischer Prozessoren ermitteln
[C#] Anzahl physikalischer Prozessoren ermitteln
[VB.NET] Bestimmte Registry Keys oder Values überwachen
[VB.NET] Alle Codecs OHNE Registry Zugriff
[VB.NET] Alle Codecs eines REMOTE Systems mit WMI
[C#] Ermittelt Remote, ob der User Admin, PowerUser oder User -Re
[C#] Druckaufträge mit WMI auslesen
[C#] Freigaben eines RemoteRechners auslesen/ löschen
[C#] Seriennummer eines Laufwerkes auslesen mit WMI
[VB.NET] Seriennummer eines Laufwerkes auslesen mit WMI
[VB.NET] Systemdirectory eines Remotesystems mit WMI ermitteln
[VB.NET] Betriebssystemarchitektur ermitteln per WMI
[VB.NET] Betriebssystem ermitteln per WMI
[VB.NET] Bildschirmaktualisierungsrate ermitten
[VB.NET] Angemeldeter User
[VB.NET] Uptime eines Computers ermitteln
[VB.NET] Ermitteln des Ländercodes per WMI
[VB.NET] Ermitteln der Zeitzone per WMI
[VB.NET] Modelltyp des Rechners per WMI ermitteln
[VB.NET] Hersteller ermitteln per WMI
[VB.NET] Installierte Drucker ermitteln
[C#] Liefert ein Dictionary Object von LDAP Userattributen
[C#] Liefert den UserAccount vom SID in Form von Domain\UserName
[C#] Liefert den SecurityIdentifier des UserAccount
[C#] LDAP - Enable Account
[C#] LDAP - Unlock Account
[VB.NET] Benutzerrechte ermitteln
[VB.NET] Effektive Benutzerrechte ermitteln

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.