Name='““ + mo[„“Name““] + „“‚““““);
/// <summary>
/// Ermittelt Remote, ob der User Admin, PowerUser oder User -Rechte hat
/// </summary>
/// <param name="ComputerName"></param>
/// <param name="UserName"></param>
/// <returns>local GroupName</returns>
public static string GetLocalUserRights(string ComputerName, string UserName)
{
Dictionary<string, string> LocalRights = 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;
}
SecurityIdentifier sidLocalAdmins = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
SecurityIdentifier sidLocalPowerUser = new SecurityIdentifier(WellKnownSidType.BuiltinPowerUsersSid, null);
SecurityIdentifier sidLocalUser = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
foreach (ManagementObject mo in mos.Get())
{
if (mo["SID"].ToString() == sidLocalAdmins.Value | mo["SID"].ToString() == sidLocalPowerUser.Value | mo["SID"].ToString() == sidLocalUser.Value)
{
ManagementObjectSearcher userSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_GroupUser Where GroupComponent = "Win32_Group.Domain='"" + ComputerName + ""'
Alte URL:
/snippet/ermittelt-remote-ob-der-user-admin-poweruser-oder-user-re/512