Comment puis-je accorder à un utilisateur la possibilité d'ajouter des utilisateurs locaux dans Windows 7?

2

Comment accorder à un compte d'utilisateur local l'autorisation d'ajouter d'autres utilisateurs locaux dans Windows 7 Professional? L’important est que l’utilisateur local susceptible de créer de nouveaux comptes ne dispose pas des privilèges d’administrateur.

Je n'ai pas trouvé de stratégie de groupe locale permettant d'accorder la permission de créer des utilisateurs pour un compte spécifique. J'ai donc essayé de créer les utilisateurs via un script PowerShell:

$user = Read-Host "Please enter username"

$objOu = [ADSI]"WinNT://$env:computername"
$objUser = $objOu.Create("User", $user)
$objUser.setPassword("DefaultS3cr3t")
$objUser.setInfo()
$objUser.description = "Simple User"
$objUser.passwordExpired = 1
$objUser.setInfo()

$group = [ADSI]"WinNT://$env:computername/Users,group"
$group.Add("WinNT://$user,user")

Lorsque j'exécute ce script avec des privilèges d'administrateur, il fonctionne comme prévu.

Pour permettre à un utilisateur normal d'exécuter ce script sans perdre le mot de passe de l'administrateur, j'ai essayé d'utiliser un "agent d'entiercement" comme décrit ici: http://powershell.com/cs/blogs/tobias/archive/2010/10 /28/regular-users-running-admin-scripts-safe.aspx

Le problème est que la tâche est exécutée en arrière-plan (car elle est exécutée en tant qu'utilisateur non connecté). Par conséquent, le nom d'utilisateur ne peut pas être entré.

L'utilisation d'un "SecureString" pour enregistrer le mot de passe n'est pas une option, car le mot de passe admin serait extractible pour l'utilisateur normal.

Existe-t-il un moyen d'accorder à un utilisateur normal l'autorisation de créer d'autres utilisateurs normaux sans octroyer de privilèges d'administration complets?

MichA
la source

Réponses:

1

Pour ajouter des comptes locaux, le compte que vous utilisez doit disposer de droits d'administrateur sur cet ordinateur local. Donc, malheureusement, il ne peut pas être délégué à un compte normal (ni même à un compte PowerUser). Même si vous utilisiez Active Directory, vous devez toujours donner à l'objet des droits d'administrateur local.

Taegost
la source
J'avais peur qu'il n'y ait pas de politique pour autoriser un compte local à créer d'autres comptes locaux. C'est pourquoi j'ai essayé d'utiliser l'agent d'entiercement ou j'aimerais utiliser quelque chose comme un service en arrière-plan.
MichA
0

Je me suis rendu compte que l'utilisation d'un script PowerShell en deux étapes résout mon problème. J'ai écrit un script de service, qui est lancé par le planificateur de tâches Windows avec les privilèges d'administration complets décrits dans ce lien: http://powershell.com/cs/blogs/tobias/archive/2010/10/28/regular-users- en cours d'exécution-admin-scripts-safe.aspx

La tâche de service ouvre ensuite un canal nommé et écoute une connexion client. Le canal est sécurisé par sa liste de contrôle d'accès, de sorte que seul l'utilisateur qui crée et le compte d'utilisateur local, qui devrait pouvoir créer des utilisateurs locaux, peuvent le lire / l'écrire. J'ai développé un protocole simple en texte clair pour lister et ajouter des utilisateurs. Le script de service effectue l'ajout d'utilisateurs et l'interface sert uniquement à répertorier les utilisateurs et à appeler la commande "add".

Les deux scripts sont en outre sécurisés par des autorisations restrictives du système de fichiers afin d’empêcher toute modification.

MichA
la source