GPO non appliqué à Windows 7 et supérieur

2

Il y a deux contrôleurs de domaine. Le principal fonctionne sur Windows Server 2008 R2 et le secondaire sur Windows Server 2012.

Lorsque je crée un objet de stratégie de groupe sur le contrôleur principal, il est immédiatement copié sur le contrôleur de domaine secondaire avec tous les fichiers et scripts.

Dans l'objet de stratégie de groupe de la section Configuration de l'utilisateur, je définis les variables d'environnement du système, crée un dossier sur le bureau et les raccourcis qu'il contient.

Le filtrage de sécurité de la portée des objets de stratégie de groupe contient un groupe d'utilisateurs, qui se trouve dans le dossier Utilisateurs du contrôleur de domaine. Les membres qui y entrent sont situés dans différentes unités organisationnelles.

http://i.stack.imgur.com/MBZez.png

http://i.stack.imgur.com/QTIIP.png

Si je suis connecté sur des ordinateurs exécutant Windows XP SP3, la stratégie est exécutée immédiatement ou après l'exécution gpupdate /force. Sur les ordinateurs avec une version du système d'exploitation Windows 7 ou supérieure (Windows 8.1, Windows 10), la stratégie ne fonctionne pas et ne s'applique pas à l'utilisateur.

Dans gpresult /scope user /z > c:\gpo_dump.log Je constate que l'utilisateur est membre du groupe requis, mais que l'objet de stratégie de groupe n'a pas été trouvé dans les sections GPO appliquées et non acceptées. Pourquoi? Exécuter gpupdate /force et parfois redémarrer pas aider.

Vladimir Z.
la source

Réponses:

3

En fonction de la date de votre question, je pense connaître la réponse à votre problème.

La mise à jour MS Security publiée le 14/06/2016 a modifié le comportement des objets de stratégie de groupe avec les paramètres utilisateur! Beaucoup

Jusqu'à présent, tous les objets de stratégie de groupe contenant des paramètres utilisateur étaient appliqués dans un contexte de sécurité utilisateur. Par conséquent, les stratégies sont appliquées tant que l'utilisateur est répertorié dans le filtrage de sécurité (tel que vous l'avez).

Mais avec le comportement après la mise à jour MS, ils sont appliqués dans le contexte informatique. Ainsi, si vous avez un utilisateur ou un groupe dans le filtrage de sécurité, il ne suffit pas que les paramètres utilisateur de la stratégie soient appliqués. Vous devez aussi avoir autorisation de lecture pour l'ordinateur à partir duquel l'utilisateur accède à l'objet de stratégie de groupe. Vous n'avez pas besoin de l'indiquer dans le filtrage de sécurité, mais vous devez ajouter au moins l'autorisation READ (sous l'onglet de délégation des objets de stratégie de groupe) à l'ordinateur ou au groupe dont cet ordinateur est membre.

En résumé, si l'utilisateur A se connecte à partir de l'ordinateur B, l'utilisateur A sera répertorié dans le filtrage de sécurité et l'ordinateur B doit disposer de l'autorisation READ sur le GPO (et non de l'autorisation de stratégie d'application). Voir ce lien Déployer MS16-072 qui explique tout et propose également un script pour réparer les objets de stratégie de groupe affectés. MS suggèrent d'ajouter l'autorisation READ pour les utilisateurs authentifiés à tous les objets de stratégie de groupe (c'est à quoi sert le script qu'ils fournissent), mais je pense que les ordinateurs de domaine sont un peu plus sûrs.

Cela me dérange depuis des semaines. Je ne pouvais pas comprendre pourquoi certains GPO ont soudainement cessé de fonctionner. C'est tout à cause de ça. J'apprécierais si un tel changement massif avait plus de publicité parce que je courais depuis très longtemps dans un environnement totalement non sécurisé, car aucun des GPO restrictifs n'était appliqué. Je sais que je devrais mais je ne lis pas vraiment toutes les mises à jour MS que je postule. J'espère que cela aide votre cas.

Voici le script pour ajouter les autorisations de lecture des utilisateurs authentifiés à tous les objets de stratégie de groupe qui ne disposent d'aucune autorisation pour les utilisateurs authentifiés.

    # Copyright (C) Microsoft Corporation. All rights reserved.

$osver = [System.Environment]::OSVersion.Version
$win7 = New-Object System.Version 6, 1, 7601, 0

if($osver -lt $win7)
{
    Write-Error "OS Version is not compatible for this script. Please run on Windows 7 or above"
    return
}

Try
{
    Import-Module GroupPolicy
}
Catch
{
    Write-Error "GP Management tools may not be installed on this machine. Script cannot run"
    return
}

$arrgpo = New-Object System.Collections.ArrayList

foreach ($loopGPO in Get-GPO -All)
{
    if ($loopGPO.User.Enabled)
    {
        $AuthPermissionsExists = Get-GPPermissions -Guid $loopGPO.Id -All | Select-Object -ExpandProperty Trustee | ? {$_.Name -eq "Authenticated Users"}
        If (!$AuthPermissionsExists)
        {
            $arrgpo.Add($loopGPO) | Out-Null
        }
    }
}

if($arrgpo.Count -eq 0)
{
    echo "All Group Policy Objects grant access to 'Authenticated Users'"
    return
}
else
{
    Write-Warning  "The following Group Policy Objects do not grant any permissions to the 'Authenticated Users' group:"
    foreach ($loopGPO in $arrgpo)
    {
        write-host "'$($loopgpo.DisplayName)'"
    }
}

$title = "Adjust GPO Permissions"
$message = "The Group Policy Objects (GPOs) listed above do not have the Authenticated Users group added with any permissions. Group policies may fail to apply if the computer attempting to list the GPOs required to download does not have Read Permissions. Would you like to adjust the GPO permissions by adding Authenticated Users group Read permissions?"

$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
    "Adds Authenticated Users group to all user GPOs which don't have 'Read' permissions"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
    "No Action will be taken. Some Group Policies may fail to apply"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title, $message, $options, 0)  
$appliedgroup = $null
switch ($result)
{
    0 {$appliedgroup = "Authenticated Users"}
    1 {$appliedgroup = $null}
}
If($appliedgroup)
{
    foreach($loopgpo in $arrgpo)
    {
        write-host "Adding 'Read' permissions for '$appliedgroup' to the GPO '$($loopgpo.DisplayName)'."
        Set-GPPermissions -Guid $loopgpo.Id -TargetName $appliedgroup -TargetType group -PermissionLevel GpoRead | Out-Null
    }
}

Si vous préférez définir l’autorisation de lecture pour les ordinateurs du domaine plutôt que l’autorisation. Les utilisateurs viennent de changer cela 0 {$appliedgroup = "Authenticated Users"} pour que 0 {$appliedgroup = "Domain Computers"}

Ajout pour clarification:

Quel que soit l'ordinateur, l'utilisateur ou le groupe auquel vous souhaitez APPLIQUER, les paramètres de l'objet de stratégie de groupe doivent figurer dans le filtrage de sécurité. Le fait de répertorier un utilisateur d'ordinateur ou un groupe dans le filtrage de sécurité signifie que vous accordez à l'ordinateur, à l'utilisateur ou au groupe, deux autorisations par rapport à l'objet de stratégie de groupe - une autorisation est LIRE et l'autre est APPLIQUER LA POLITIQUE DE GROUPE. L'onglet Délégation vous donne la possibilité d'attribuer des autorisations plus détaillées au GPO, mais vous pouvez vérifier que, si vous ajoutez un ordinateur, un utilisateur ou un groupe dans l'onglet Filtrage de sécurité, il apparaît sous l'onglet Délégation avec ces deux autorisations READ et APPLY.

En ajoutant un ordinateur, un utilisateur ou un groupe à un onglet de délégation et en lui accordant l'autorisation LIRE, vous ne lui appliquez PAS l'objet de stratégie de groupe. Vous lui permettez simplement de lire le GPO.

Résumons donc -

  • pour que les paramètres d'un ordinateur de stratégie de groupe soient appliqués, il est nécessaire que l'ordinateur (ou un groupe dans lequel il se trouve) soit répertorié dans le filtrage de sécurité.
  • Pour que les paramètres de l’utilisateur GPO soient appliqués, vous devez avoir l’utilisateur (ou un groupe, il est) répertorié dans le filtrage de sécurité ET vous devez donner à l'ordinateur (ou un groupe dans lequel il se trouve) à partir duquel l'utilisateur accède le GPO une autorisation READ sur le GPO.

J'espère que cela le clarifie pour vous.

Vita
la source
Malheureusement, cela ne fonctionne pas, j'ai essayé de créer une politique qui crée les variables d'environnement - l'une dans la section ordinateur, l'autre dans la section utilisateur. Ajouté au filtre du domaine de sécurité de l'utilisateur, et la délégation a donné l'autorisation de lire les ordinateurs du domaine. N'a ajouté aucun ordinateur dans le filtre de sécurité - la section ordinateur ne s'applique pas du tout.
Vladimir Z.
Ce n'est pas comme ça (ça marche. Vous devez avoir l'ordinateur auquel vous voulez appliquer les paramètres de l'ordinateur) dans le filtrage de sécurité. Laissez-moi élaborer dans un instant
Vita
J'ai ajouté l'explication à la fin de ma réponse. Cela devrait clarifier
Vita