| 

.NET C# Java Javascript Exception

2
In aktuellen Windows Vista-, Windows 7- und auch Windows 8-Versionen wird das Administratorkonto Administrator standardmäßig deaktiviert. Ferner erhält es standardmäßig kein Kennwort zugewiesen. Wie (de)aktiviere ich das Administratorkonto Administrator wahlweise? Gibt es dafür eine API- oder in .NET integrierte Systemfunktion?
News:
11.07.2013
MrDeveloper 383 1 7
2 Antworten
1
So geht das:

using (var context = new PrincipalContext(ContextType.Machine))
{
var administrator = UserPrincipal.FindByIdentity(context, "Administrator");
Debug.Assert(administrator != null);
administrator.Enabled = true;
administrator.Save();
}


Die nötigen Klassen findest du in der System.DirectoryServices.AccountManagement.dll.

Kleine Warnung am Rande: Unter Windows gibt es nicht "den" Administrator. Der Name des Administratorkontos ist abhängig von der lokalisierten Version von Windows. Auf einem spanischen Windows heißt der Adminstrator z. B. "Administrador". Also Vorsicht mit hartkodierten Namen falls deine Software international tauglich sein soll!
12.07.2013
candritzky 66 1
Nö, so geht das nicht. Der Benutzername wird in anderssprachigen Version des Betriebssystems nicht "Administrator" sein. Du musst via SID den Namen holen, und von da an geht's mit dem ermittelten Namen weiter...
quandary 16.07.2013
Welche SID? Wie ich schon geschrieben hatte: Es gibt nicht "den" Administrator. Deswegen gibt es für "den" Administrator auch keine "well-known SID". Du kannst das von Windows angelegte Administrator-Konto löschen und neu anlegen. Dann hast du wieder einen "Administrator", aber mit einer neuen SID.

Also bitte erst nachdenken, dann bashen.
candritzky 16.07.2013
1
Du könntest dazu beispielsweise auch direkte Systemaufrufe via NET USER mit Administratorrechten (diese sind Voraussetzung) absetzen, die entsprechend auch an der Eingabeaufforderung verwendet werden. Der Befehl

net user Administrator /active


aktiviert das Administratorkonto und der Befehl

net user Administrator /active:no


deaktiviert es wieder.
16.07.2013
Claus M. 2,9k 9
Danke für diese alternative Lösung.
MrDeveloper 19.07.2013

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH