26 votes

Comment modifier la stratégie de groupe locale avec un script?

Je dois définir les paramètres de stratégie de groupe locaux et la stratégie de sécurité locale pour quelques machines qui ne sont pas dans un domaine Windows. Jusqu'à présent, j'ai fait cela en définissant manuellement les clés dans gpedit. En raison de la transition vers Windows 10, j'aimerais automatiser cela et utiliser un script batch ou PowerShell pour les définir. Ce serait très bien si cela pouvait être fait sans outils tiers.

Comment puis-je définir ces politiques en utilisant Powershell ou un fichier batch ?

Merci pour vos réponses à l'avance !

Peter

14voto

Stajs Points 191

PolicyFileEditor est un module PowerShell pour gérer les fichiers registry.pol des GPO locales.

Brandon Padgett fournit un exemple d'utilisation:

$RegPath = 'Software\Policies\Microsoft\Windows\Control Panel\Desktop'
$RegName = 'ScreenSaverIsSecure'
$RegData = '1'
$RegType = 'String'

Set-PolicyFileEntry -Path $UserDir -Key $RegPath -ValueName $RegName -Data $RegData -Type $RegType

10voto

Pak Points 885

Vous pouvez le faire dans PowerShell en utilisant Set-ItemProperty sur le fournisseur de Registre ; par exemple pour désactiver l'accès à Windows Update, vous pouvez exécuter :

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Name DisableWindowsUpdateAccess -Value 1

(HKLM:\ étant l'alias standard pour le chemin d'accès du lecteur de Registre "Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\").

La liste des clés de Registre des stratégies de groupe peut être téléchargée depuis Microsoft à Télécharger la référence des paramètres de stratégie de groupe pour Windows et Windows Server | Centre de téléchargement Microsoft

2 votes

Merci beaucoup! Mais en modifiant directement le Registre, la politique n'appliquera pas la valeur de registre actuelle si elle est modifiée pour une raison quelconque. Est-il donc possible de définir la stratégie de groupe qui définira ensuite le registre en conséquence?

0 votes

Vous pouvez exécuter gpupdate pour que l'ordinateur recharge les paramètres; de la même manière que vous le feriez en chargeant les valeurs directement dans le registre via regedit. Par exemple gpupdate /force /target:computer

1 votes

Je devrais ajouter que l'Éditeur de stratégie de groupe lit et définit simplement les valeurs du registre, donc définir les paramètres du registre a le même effet que de définir la stratégie de groupe.

4voto

Il existe plusieurs CmdLets qui peuvent être utilisés pour manipuler les GPO (Create, Get-Info, ...). Vous pouvez facilement les lister en utilisant

Get-Command -Module GroupPolicy

Les plus importants :

New-GPO -Name "Ma propre GPO" -Comment "Il s'agit d'une nouvelle GPO pour moi"

New-GPO -Name "Ma propre GPO" | New-GPLink -Target "ou=clients,dc=ad,dc=contoso,dc=com"

Remove-GPLink -Name "Ma propre GPO" -Target "ou=clients,dc=ad,dc=contoso,dc=com"

Get-GPO -Name "Ma propre GPO"

Get-GPO -Name "Ma propre GPO" | Get-GPOReport -ReportType HTML -Path c:\temp\report.html

Set-GPRegistryValue -Name "Ma propre GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName ScreenSaveTimeOut -Type DWord -Value 300

Get-GPRegistryValue -Name "Ma propre GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop"

Remove-GPRegistryValue -Name "Ma propre GPO" -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName ScreenSaveTimeOut

Invoke-GPUpdate -Computer "ad\server1" -Target "User"

Get-GPResultantSetOfPolicy -Computer dc1 -ReportType HTML -Path c:\temp\dc1rsop.html

Ceci a été simplement pris sur ici.

6 votes

Nécessite Group Policy Management Console, Remote Server Administration Tools doit être installé en premier (disponible avec les éditions Pro ou Enterprise de Windows 10)

0 votes

@escalator Vous pouvez l'installer en utilisant add-windowsfeature gpmc

1 votes

Il semble qu'il a besoin d'un contrôleur de domaine?

0voto

Purge0 Points 1

Super script de Microsoft qui détaille l'édition des valeurs des propriétés du Registre via Powershell en utilisant les Set-ItemProperty et autres cmdlets. Comme indiqué, cela ne semble pas mettre à jour l'interface utilisateur de l'éditeur de stratégies locales, donc vous voudriez probablement utiliser PolicyFileEditor si c'est un problème pour vous. Je dois faire cela sur des machines distantes en utilisant un MDM tiers et je veux éliminer autant de dépendances que possible, donc je me contente des commandes de base. J'espère que cela aidera à assembler tout cela pour les autres.

Comme mes utilisateurs ont la possibilité de modifier les paramètres en tant qu'administrateurs locaux, je vais également re-exécuter ce script chaque jour. Malheureusement, gpupdate /force /target:computer ne semble pas mettre à jour les paramètres pour moi (je change le temps de verrouillage de l'écran), donc les machines devront redémarrer pour que les modifications prennent effet.

0 votes

Le Registre n'est pas des stratégies de groupe.

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