Benutzer mit Registry auflisten



  • Moin,

    ich suche mir inzwischen schon einen Wolf um rauszubekommen welche Benutzer auf einem Rechner lokal existieren und wie der zugehörig Schlüssel in HKU lautet ... ich scheitere ja schon daran die Benutzer aufzulisten ... das Ganze muss unter XP bis 7 funktionieren ... ich bräuchte mal ein paar Tipps wonach ich suchen muss - danke

    hand, mogel


  • Administrator

    Keine Ahnung, aber eine kurze Suche hat bei mir die folgenden zwei Dinge hervorgebracht. Vielleicht helfen sie bereits weiter 🙂
    http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/eb2c90b4-02ca-4b6d-9f4f-9a1af261cd33
    http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/f369e17b-6569-4c26-852a-c7b793673ac6/

    Grüssli



  • try
    			{
    				ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_UserAccount");
    				foreach (ManagementObject queryObj in searcher.Get())
    				{
    					String name = queryObj["Name"].ToString();
    					String sid = queryObj["SID"].ToString();
    					Logging.info(name + " -> " + sid);
    				}
    			} catch (ManagementException ex)
    			{
    				Logging.error(ex);
    			}
    

    da sind zwar auch SID's mit bei die in unter HKU nicht stehen ... dafür stehen unter HKU SID's die nicht mit aufgelistet werden 🙂

    danke, mogel



  • *argh* - ick krieg nen Kollaps

    mogel schrieb:

    da sind zwar auch SID's mit bei die in unter HKU nicht stehen ... dafür stehen unter HKU SID's die nicht mit aufgelistet werden 🙂

    ich habe jetzt einen zweiten Benutzer (nenne wir ihn "Bediener") angelegt - wenn ich den anmelde sehe ich auch seinen Registry-Zweig unter HKU ... da sehe ich auch den Registry-Zweig des anderen Benutzers unter HKU (nennen wir ihn "mogel") ... wenn ich jetzt aber wieder unter mogel die Registry unter HKU öffne, sehe ich nicht den Regsitry-Zweig von bediener

    wie zur Hölle kann ich die verdammte Registry von bediener von mogel aus manipulieren ??

    danke, mogel

    PS: ick bin übrigens Admin 🤡



  • Moin,

    ich mache das jetzt über den Umweg eines weiteren Programms ... das setzt dann entsprechend die Registry-Werte

    Misc.LimitBlankPasswordUse(false);
    
    Process p = new Process();
    p.StartInfo.FileName = ".\\myRegEdit.exe";
    p.StartInfo.UserName = "bediener";
    p.StartInfo.UseShellExecute = false;
    p.Start();
    
    Misc.LimitBlankPasswordUse(true);
    

    da Windows glücklicherweise keine Anmeldung mehr mit leerem Passwort zulässt, muss das für den Teil kurz deaktiviert werden ... http://www.heise.de/ct/hotline/Passwortloser-Account-fuer-MachMichAdmin-319732.html ... die Methode ist natürlich nicht wirklich sicher in dem Moment

    /// <summary>
    /// ermöglicht den Zugriff von Benutzer mit leerem Passwort
    /// </summary>
    /// <remarks>http://www.heise.de/ct/hotline/Passwortloser-Account-fuer-MachMichAdmin-319732.html</remarks>
    /// <param name="value">TRUE wenn leere Passwörter nicht Erlaubt sind</param>
    /// <returns>der alte Status</returns>
    public static bool LimitBlankPasswordUse(bool value)
    {
    	bool old = false;
    	RegistryKey key = Registry.LocalMachine;
    	try
    	{
    		key = key.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Lsa", true);
    		old = Int32.Parse(key.GetValue("LimitBlankPasswordUse").ToString()) == 1 ? true : false);
    		key.SetValue("LimitBlankPasswordUse", value ? 1 : 0);
    		Logging.warn("LimitBlankPasswordUse -> Old: " + old + " - New: " + value);
    	} catch (Exception ex)
    	{
    		Logging.error(ex);
    		Logging.warn("keine Schreibrechte für Key 'LimitBlankPasswordUse'");
    	}
    	return old;
    }
    

    falls jemand eine Lösung ohne das Zerstören der Sicherheit hat, dann immer her damit

    hand, mogel


Anmelden zum Antworten