Ich schreibe ein C # -Programm, um die Labs, in denen ich arbeite, rauszuschmeißen. Das Programm soll ein lokales Admin-Konto erstellen (itadmin), das Passwort setzen, das Passwort auf nie ablaufen lassen und das Konto dem lokalen hinzufügen Administratorgruppe Das Programm erstellt das neue Benutzerkonto und legt alles richtig fest, aber wenn es versucht, es der Admin-Gruppe hinzuzufügen, erhalte ich eine sehr unscheinbare Ausnahme. Habe ich die Add-to-Group-Funktion an erster Stelle? Was vermisse ich?
%Vor%Die Codeausgabe ist unten:
%Vor%Jede Einsicht wäre sehr geschätzt.
UPDATE 1: Mit Hilfe von @ Grumbler85 werden die folgenden Ausnahmen aufgelistet:
%Vor%Auch mit Hilfe von @ Grumbler85 habe ich daran gearbeitet, die Benutzung der Bibliothek auf System.DirectoryServices.AccountManagement zu aktualisieren. Es scheint viel einfacher und viel einfacher im Einsatz zu sein. Weitere Updates / Details folgen, während ich Fortschritte mache.
Update 2: Ich weiß, dass dies eine schnelle Folge ist, aber ich konnte das Update für den neuen Namespace abschließen. Nach einem kleinen Fehler beim Definieren des Computers konnte ich erfolgreich einen Benutzer erstellen, das Kennwort festlegen, das Kennwort so ändern, dass es nie abläuft, und den Benutzer der Administratorgruppe hinzufügen. Danke an @ Grumbler85 für das Update auf den neuen Namespace. Der neue Code ist unten:
%Vor%Für Update 3 (für mehrsprachige Unterstützung)
Bitte verwenden Sie Build-IDs - & gt; "Bekannte SIDs" für integrierte Konten oder Gruppen:
%Vor%und nicht: ..... FindByIdentity (systemContext, "Administratoren");
Denn wenn Sie es "weltweit" und außerhalb des Englischen verwenden wollen. Welt wirst du einen Fehler bekommen. Beispiel: Deutschland verwendet "VORDEFINIERT \ Administratoren" als Name.
Ich denke, das ist eine Art Schuh- oder Glasflaschenfrage < Ich gebe dir eine kleine Lektion über die Verwendung eines Hammers.
Sie erwähnen, dass diese Maschinen in einer Domäne sind, es ist viel einfacher, dies einfach mit Gruppenrichtlinien zu tun.
Gehen Sie zur Gruppenrichtlinienverwaltung ( gpmc.msc
) und erstellen Sie eine neue Richtlinie. Sobald Sie eine neue Richtlinie erstellt haben, gehen Sie zu Computer Configuration->Prefrences->Local Users and Groups
.
Von dort rechts klicken und zu New->Local User
gehen. Auf dem neuen Bildschirm legen Sie die Aktion auf Create
fest (Sie können auf die Hilfe-Schaltfläche klicken, um den Unterschied zwischen den Modi zu sehen) und geben Sie Ihre Informationen für den Benutzer in diesem Bildschirm ein.
Wenn Sie auf OK klicken, wird der Benutzer auf dem Bildschirm auf der lokalen Seite für Benutzer und Gruppen angezeigt. Von dort rechts klicken und zu New->Local Group
gehen. Setzen Sie die Aktion auf der neuen Seite auf Update
, suchen Sie mit dem Dropdown-Menü den Gruppennamen Administrators (built-in)
und wählen Sie ihn aus. Klicken Sie im unteren Bereich auf Add...
und geben Sie von Hand denselben Namen ein, den Sie vom vorherigen Bildschirm eingegeben haben ( itadmin
in Ihrem Fall). Am Ende sollte es so aussehen
Die Seite Lokale Benutzer und Gruppen sieht wie folgt aus
Es ist wichtig, die Spalte "Reihenfolge" zu beachten, das Update in der Gruppe des Administrators muss eine höhere Bestellnummer haben als der Befehl zur Benutzererstellung.
Wenn Sie Ihre Gruppenrichtlinie eingerichtet haben, wenden Sie die Richtlinie auf die Computer an, die sich im Labor befinden (sei es durch OU-Targeting oder Sicherheitsfilterung oder WMI-Filterung). Beim nächsten Neustart wird der lokale itadmin-Benutzer auf jeder Maschine erstellt.
Auch ein interessanter Hinweis: Wenn Sie den Benutzer auswählen, wenn Sie auswählen, wer zur lokalen Administratorgruppe hinzugefügt werden soll, können Sie auf ...
klicken und einen Benutzer auf der Domäne auswählen. Dies ermöglicht es jemandem, seinen Domain-Login als lokalen Administrator auf einer kleinen Gruppe von Computern zu nutzen, ohne ihm die Berechtigung zu geben, überall Administrator zu sein. Sie müssen sich jedoch mit der Domäne anmelden können, damit dies funktioniert. Wenn Sie also ein Problem mit der Netzwerkverbindung beheben möchten, ist Ihr aktueller Ansatz möglicherweise besser.
Tags und Links .net c# user-accounts