2 votes

Appliquer des objets de stratégie de groupe locale à un groupe d'utilisateurs personnalisé

Contexte

Le scénario auquel je suis confronté est le suivant : J'ai un système Windows 10 Enterprise autonome (non connecté à un réseau / AD) que je souhaite configurer avec des stratégies de groupe locales. Les stratégies de groupe doivent être différentes pour les différents groupes d'utilisateurs. (Groupes d'utilisateurs : custom_admin, custom_user1, custom_user2)

Enjeu

Ce que j'ai fait jusqu'à présent, c'est créer des GPO locales pour la machine via gpedit et GPO pour les utilisateurs "Admin" via mmc (comme indiqué aquí ).

Je souhaite maintenant configurer des GPO différentes pour les groupes d'utilisateurs custom_user1 et custom_user2, afin que tous les utilisateurs qui seront créés et assignés à ces groupes soient limités par ces stratégies.

Jusqu'à présent, je n'ai pas trouvé de solution à ce problème, mais je suppose que cela doit être possible d'une manière ou d'une autre. Existe-t-il un moyen d'y parvenir ?

Edita:

J'ai essayé d'utiliser l'outil LGPO pour exporter et importer les politiques. Cela fonctionne bien pour les "administrateurs", et il existe également un moyen d'importer des politiques spécifiques pour un certain utilisateur. Mais je n'arrive pas à trouver un moyen d'importer des règles pour un groupe d'utilisateurs locaux spécifique.

1voto

Utilisation de la méthode PowerShell pour obtenir l'appartenance à un groupe et à un utilisateur d'un ordinateur local à partir de la base de données des utilisateurs. Vérifier si l'utilisateur est membre du groupe local~. voici une logique PowerShell conditionnelle qui vous aidera.

Il suffit de...

  1. Définir les noms des groupes locaux dont l'appartenance doit être vérifiée au sein du groupe $groups = valeurs des variables

    • Chaque valeur est placée entre guillemets et séparée par une virgule.
  2. Régler le Switch pour qu'elles correspondent aux valeurs définies dans le $groups maintien de la variable entourée d'un double guillemets

    • Chacune des valeurs de la logique d'expression doit pointer vers le fichier d'importation LGPO corrélé.

La normalisation des noms de groupes locaux et de la structure des dossiers d'importation des politiques locales devrait permettre de simplifier la logique et de l'adapter facilement à vos besoins. Cela permettra au moins de s'occuper de la partie triviale de la logique dont vous avez besoin pour aller dans la bonne direction afin d'obtenir une solution fonctionnelle.

Il est évident que vous devez d'abord tester cette méthode et ajuster la logique ou utiliser une autre variante qui fonctionnera le mieux dans votre cas, mais cette méthode devrait au moins permettre de répondre aux besoins de votre politique informatique locale.

PowerShell script

$user = "$env:COMPUTERNAME\$env:USERNAME"
$groups = "User Policy 1","User Policy 2","User Policy 3"

$groups | % { Process {
    If ( (Get-LocalGroupMember $_).Name -contains $user ) {
    $group = $_;

        switch ($group)
        {
    "User Policy 1" 
        {
            ##LGPO.exe /u path\registry.pol
            Start-Process LGPO.exe "/u C:\Policies\User\UserPolicy1\registry.pol"
            break;
        }
    "User Policy 2" 
        {
            Start-Process LGPO.exe "/u C:\Policies\User\UserPolicy2\registry.pol"
            break;
        }
    "User Policy 3" 
        {
            Start-Process LGPO.exe "/u C:\Policies\User\UserPolicy3\registry.pol"
            break;
        }
}     
    }
}};

Exécution en tant que connexion script

Puisque vous utilisez Windows 10 Enterprise et que vous avez besoin que cela s'exécute en tant que script de connexion, il est facile de configurer un script de connexion qui s'exécutera pour chaque utilisateur qui se connecte à la machine à l'aide d'un paramètre de stratégie de groupe local.

Je décrirai ci-dessous une façon d'exécuter les scripts de connexion via la stratégie de groupe locale. Cependant, je ne suis pas certain que la politique LGPO appliquée l'affectera, alors testez et voyez comment cela se passe.

Il pourrait y avoir des problèmes avec ceci après le redémarrage et l'application d'une politique LGPO . Si c'est le cas, vous pourriez también mettre les configurations de connexion script dans les définitions de politiques LGPO également. Cela permettra de s'assurer que les configurations script sont réappliquées après la mise à jour des politiques appliquées par LGPO.

Vous devez tester à la fois redémarrages, déconnexions et connexions sans redémarrage pour voir ce qu'il faut faire.

  1. Exécuter gpedit.msc et naviguer en conséquence via User Configuration Windows Settings Scripts | et ensuite double-clic Logon . Sélectionnez l'option PowerShell Scripts et puis appuyez sur le bouton " Ajouter "et tapez ensuite le numéro de téléphone de la personne à contacter. chemin complet vers le script de connexion script. dans l'espace Script Name et de brancher -ExecutionPolicy Bypass dans le Script Parameters champ.

enter image description here

enter image description here


Ressources d'appui


Un script d'altération-démarrage (Bonus OP Material)

Le PO a déterminé que LGPO.exe n'a pas pu rester sur la (les) machine(s) où il a été exécuté, de sorte que la logique s'est adaptée :

  1. Vérifier si l'utilisateur fait partie du groupe correspondant
  2. Sous C:\Windows\System32\GroupPolicyUsers créer un dossier dont le nom correspond au SID du compte
  3. Copier manuellement Registry.pol vers cet emplacement Emplacements créés par le SID

Il s'avère que la configuration d'un Logon Script n'exécutera pas le script PowerShell script avec des privilèges élevés. Cependant, en l'exécutant en tant que Startup Script sous Computer Configurations/Windows Settings/Script/Startup fonctionne bien.

Il y a une mise en garde pour les profils d'utilisateur nouvellement créés par machine avec une stratégie applicable, les stratégies pour l'utilisateur ne seront pas effectives tant qu'un redémarrage n'aura pas eu lieu après la création du profil de compte.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X