Commandes¶
Chaque commande a sa page, son aide avec ses paramètres et ses exemples (en anglais) : cliquez sur
son nom. Get-Help <commande> -Full donne la même aide dans PowerShell, et Get-Help <commande> -Online
ouvre sa page. Les commandes qui modifient le domaine acceptent -WhatIf et -Confirm. Les paramètres qui
prennent un compte (-ApplyTo, -DenyTo, -Account) complètent les comptes bien connus
avec Tab.
Le domaine¶
| Commande | Fait |
|---|---|
Get-PSGPODirectory [-Server] [-Credential] [-UseSsl] [-Port] |
lit le domaine en LDAP : ses OU, GPO, liens, les droits du compte, la configuration du domaine et son workflow d'approbation |
Import-PSGPODirectory -Path |
lit un domaine depuis une description JSON (hors ligne, démonstrations, tests) |
Show-GPOManagerAvalonia [-Server] [-Credential] [-UseSsl] [-Directory] [-NoDirectory] [-PolicyDefinitions] [-UICulture] [-Language] |
ouvre la console |
Get-PSGPOConfiguration [-Directory] [-Server] |
la configuration utilisée, et d'où elle vient |
Test-PSGPOHealth [-Name] [-Directory] [-Server] [-DomainController] |
vérifie les GPO comme GPMC et gpotool : leur dossier et leurs versions dans SYSVOL, leurs extensions côté client, les dossiers sans GPO, les liaisons, et leur réplication sur chaque contrôleur de domaine |
Test-PSGPOSecurityPosture [-Directory] [-Server] [-SystemLog] |
vérifie qui peut créer, modifier et lier des GPO hors du Tier 0 et du workflow, et à qui sont les dossiers de SYSVOL que lisent les ordinateurs et les consoles ; les constats High dans le journal du système |
Get-PSGPOReplicationStatus [-Name] [-Directory] [-Server] [-DomainController] |
compare les GPO de chaque contrôleur de domaine, dans son annuaire et son SYSVOL, à la référence, comme l'onglet État de GPMC |
Les GPO¶
| Commande | Fait |
|---|---|
Find-PSGPO [-Name] [-Id] [-LinkedTo] [-Linked\|-NotLinked] [-WmiFilter] [-Account [-Permission]] [-Extension] [-Setting] [-Status] [-ApprovalState] [-Comment] |
recherche des GPO, comme la recherche de GPMC |
New-PSGPO -Name [-Template\|-StarterGpo] [-Status Enabled\|ComputerOnly\|UserOnly] [-Comment] |
crée une GPO, vide, à partir d'un modèle ou d'un objet GPO Starter |
Copy-PSGPO -Name -TargetName [-CopyAcl] |
copie une GPO dans une nouvelle GPO de son domaine, comme Copier et Coller de GPMC : ses paramètres, son état, son filtre WMI et son commentaire, pas ses liens |
Get-PSGPOStarterGpo [-Name] |
les objets GPO Starter du domaine, Système et Personnalisés |
New-PSGPOStarterGpo -Name [-Description] [-FromGpo] |
crée un objet GPO Starter, vide ou avec les modèles d'administration d'une GPO |
Remove-PSGPOStarterGpo -Name |
supprime des objets GPO Starter personnalisés |
Get-PSGPOModeling [-Computer] [-ComputerGroup] [-User] [-UserGroup] [-Site] [-Loopback] [-FalseWmiFilter] |
les GPO qu'un ordinateur et un utilisateur appliqueraient, d'après l'annuaire, comme la modélisation de GPMC |
Get-PSGPOResult [-ComputerName] [-User] [-Scope] [-Path] |
ce qu'un ordinateur et un utilisateur ont appliqué, comme les résultats de stratégie de groupe (gpresult, samba-gpupdate --rsop) |
Invoke-PSGPOUpdate [-ComputerName] [-Target] [-User] [-Force] |
fait appliquer leurs GPO aux ordinateurs tout de suite (gpupdate, Invoke-GPUpdate, samba-gpupdate) |
Remove-PSGPO -Name [-BackupPath] [-NoBackup] |
supprime des GPO et leurs liens, sauvegardées d'abord |
Approve-PSGPO -Name [-CreatorRights ReadOnly\|EditSettings] [-ApplyTo] [-DenyTo] [-CreateFilteringGroups] [-GroupContainer] [-BackupPath] |
approuve des GPO en attente d'approbation, avec leur filtrage de sécurité (et ses groupes) |
Initialize-PSGPOWorkflow [-Apply] |
vérifie, et avec -Apply pose, la délégation de la création de GPO aux créateurs, une fois le magasin central créé |
New-PSGPOLink -Name -Target [-Enforced] [-Disabled] |
lie des GPO au domaine ou à une OU, avec la plus faible priorité |
Set-PSGPOLink -Name -Target [-Enabled] [-Enforced] [-Order] |
active, désactive, applique (Enforced) ou déplace des liens |
Remove-PSGPOLink -Name -Target |
supprime des liens, les GPO restent |
Set-PSGPOInheritance -Target -Blocked |
bloque l'héritage du domaine ou d'une OU, ou non |
Get-PSGPOInheritance -Target |
les liens du domaine ou d'une OU par ordre de lien, et les GPO qui s'y appliquent par priorité, comme les onglets de GPMC |
Set-PSGPO -Name [-NewName] [-Status Enabled\|ComputerOnly\|UserOnly\|Disabled] [-WmiFilter] [-NoWmiFilter] [-Comment] |
renomme une GPO, règle le statut, le filtre WMI et le commentaire de GPO |
Get-PSGPOPermission -Name |
les autorisations de GPO, comme l'onglet Délégation de GPMC : chaque compte et son niveau |
Get-PSGPOReport -Name, -All [-ReportType Object\|Xml\|Html] [-Path] |
le rapport de GPO, comme Get-GPOReport de GPMC : détails, liens, délégation, paramètres, et ce que HGPM n'interprète pas |
Set-PSGPOPermission -Name -Account [-Permission GpoRead\|GpoApply\|GpoEdit\|GpoEditDeleteModifySecurity\|None] [-SecurityFiltering Add\|Remove] |
donne un niveau à un compte sur des GPO, ou change leur filtrage de sécurité, dans l'annuaire et dans SYSVOL |
Get-PSGPOWmiFilter [-Name] |
les filtres WMI du domaine, leurs requêtes et leurs GPO |
New-PSGPOWmiFilter -Name -Query [-Namespace] [-Description] |
crée un filtre WMI |
Set-PSGPOWmiFilter -Name [-NewName] [-Description] [-Query] [-Namespace] |
modifie le nom, la description ou les requêtes d'un filtre WMI |
Remove-PSGPOWmiFilter -Name |
supprime des filtres WMI qu'aucune GPO n'utilise |
Export-PSGPOWmiFilter -Name -Path [-Force], -InputObject -Path [-Domain] |
exporte des filtres WMI en fichiers .mof, comme GPMC ; avec -InputObject, des filtres écrits sans domaine |
Import-PSGPOWmiFilter -Path [-Name] |
crée des filtres WMI à partir de fichiers .mof de GPMC ou de HGPM |
Get-PSGPOWmiFilterPermission [-Name] |
qui crée des filtres WMI (sans -Name), qui modifie chaque filtre, comme les onglets Délégation de GPMC |
Show-WmiFilterCreatorAvalonia [-Path] [-Server] [-Credential] [-UseSsl] [-Language] |
ouvre le créateur de filtres WMI : requêtes prêtes à l'emploi, générateur de requête, vérification, test, export .mof, création dans le domaine |
Get-PSGPOWmiQueryTemplate [-Id] [-Category] [-Value] |
les requêtes WQL prêtes à l'emploi du créateur, leurs paramètres remplis |
Test-PSGPOWmiFilter -Query [-Namespace], -InputObject, -Path [-ComputerName] [-Credential] |
teste un filtre WMI sur un ordinateur, comme Windows l'évalue (Windows) |
Set-PSGPOWmiFilterPermission [-Name] -Account -Permission WmiCreate\|WmiEdit\|WmiFullControl\|None |
délègue la création des filtres WMI, ou la modification d'un filtre, avec les ACE de GPMC |
Un nom donné avec -Name est le nom de la GPO, crochets compris (Servers [Lyon]) ; avec * ou ?, c'est un motif. Deux GPO de même nom sont prises chacune.
-Directory (venant de Get-PSGPODirectory) ou -Server donne le domaine à chacune ; sans eux,
le domaine de l'ordinateur est lu.
$Directory = Get-PSGPODirectory -Server dc.hardenbox.labo
New-PSGPO -Directory $Directory -Name 'T1 - Servers - Proxy' -Status ComputerOnly
Approve-PSGPO -Directory $Directory -Name 'T1 - Servers - Proxy' -ApplyTo 'APPLY_T1 - Servers - Proxy'
Les sauvegardes¶
| Commande | Fait |
|---|---|
Backup-PSGPO -Path [-Name] [-Comment] [-Label] [-Approve] [-Force] |
sauvegarde les GPO qui ont changé depuis leur dernière sauvegarde |
Get-PSGPOBackup -Path [-Name] [-Id] [-Label] [-Approved] [-Template] [-Deleted] |
liste les sauvegardes, la plus récente d'abord ; -Deleted : la corbeille |
Compare-PSGPOBackup -ReferenceBackup -DifferenceBackup |
ce qui a changé entre deux sauvegardes, paramètre par paramètre |
Restore-PSGPO -Backup [-NoBackup] [-RestoreLink] |
remet une GPO comme une sauvegarde la contient, ou recrée une GPO supprimée |
Remove-PSGPOBackup -Backup |
supprime définitivement une GPO de la corbeille : toutes ses sauvegardes |
Set-PSGPOBackup -Backup [-Comment] [-AddLabel] [-RemoveLabel] [-Approve] [-Unapprove] |
modifie les notes d'une sauvegarde |
Get-PSGPODrift -Path [-Name] [-Label] |
compare chaque GPO à sa version approuvée : InSync, Drifted, NotApproved |
Get-PSGPOGpmcBackup -Path [-Name] |
les sauvegardes de GPMC (Backup-GPO) d'un dossier |
Import-PSGPO -Path -TargetName [-SourceName] [-BackupId] [-MigrationTable] [-Exclusive] [-CreateIfNeeded] [-BackupPath] [-NoBackup] |
importe les paramètres d'une sauvegarde (GPMC ou HGPM) dans une GPO, avec une table de migration |
Get-PSGPOMigrationEntry -Path [-Name] [-IncludePermission] |
les comptes et chemins UNC que référencent les paramètres de sauvegardes |
New-PSGPOMigrationTable -Path -BackupPath [-Name] [-IncludePermission] [-MapByRelativeName] [-Force] |
écrit une table de migration (.migtable) pour des sauvegardes, comme GPMC l'écrit |
Get-PSGPOMigrationTable -Path |
lit une table de migration de GPMC, vérifiée |
Get-PSGPOAuditLog [-Path] [-Domain] [-Name] [-Action] [-Account] [-After] [-Before] |
ce que les consoles et les commandes ont modifié dans le domaine, le plus récent d'abord |
Show-AuditLogAvalonia [-Path] [-Directory \| -Server] [-Language] |
ouvre le journal d'audit dans une fenêtre : filtré par période, domaine, action et une recherche, les détails d'une modification, les modifications affichées exportées en CSV |
Initialize-PSGPOAuditShare [-Path] [-Directory \| -Server] |
prépare le partage du journal d'audit central : un dossier par tier, les droits des rôles |
Initialize-PSGPOBackupShare [-Path] [-Directory \| -Server] |
prépare le partage des sauvegardes centrales : pour le Tier 0 seulement |
Import-PSGPOAuditLog -Path [-Destination] [-Remove] |
déplace le journal d'une console dans le journal central, chaque modification dans le dossier du tier de son compte |
Invoke-PSGPOAuditRetention [-Path] [-RetentionMonths] [-Directory \| -Server] |
archive les mois du journal d'audit plus anciens que sa rétention, puis supprime leurs fichiers |
Register-PSGPOEventSource |
enregistre la source d'événements HGPM du journal des événements Windows, une fois par ordinateur |
Backup-PSGPO -Path /srv/gpo-backups -Comment 'Chaque nuit'
Get-PSGPODrift -Path /srv/gpo-backups | Where-Object State -EQ 'Drifted' | ForEach-Object Changes
Policy Analyzer¶
| Commande | Fait |
|---|---|
Show-PolicyAnalyzerAvalonia [-Path] [-Directory \| -Server] [-PolicyDefinitions] [-Language] |
ouvre Policy Analyzer : des jeux de règles comparés dans une fenêtre, comme le fait Policy Analyzer |
Get-PSGPOPolicyRuleSet -Path \| -Name \| -Backup \| -GpmcBackupPath [-SetName] |
lit des fichiers .PolicyRules (les baselines de sécurité de Microsoft), ou fait un jeu de règles de GPO du domaine, de sauvegardes HGPM ou GPMC |
Compare-PSGPOPolicyRuleSet -RuleSet [-DifferenceOnly] [-ConflictOnly] |
compare des jeux de règles paramètre par paramètre, une colonne par jeu, comme Policy Analyzer |
Export-PSGPOPolicyRuleSet -RuleSet -Path [-Force] |
enregistre des jeux de règles dans un fichier .PolicyRules, que Policy Analyzer et LGPO.exe /p lisent |
Export-PSGPOPolicyRuleComparison -InputObject -Path [-All] [-Force] |
enregistre une comparaison dans un classeur Excel, avec les couleurs de Policy Analyzer |
Import-PSGPOPolicyRuleSet -RuleSet -TargetName [-PolicyName] [-Replace] [-CreateIfNeeded] [-BackupPath] [-NoBackup] |
écrit les paramètres d'un jeu de règles dans une GPO du domaine, comme LGPO.exe /p l'applique à un ordinateur |
$baseline = Get-PSGPOPolicyRuleSet -Path .\MSFT-Win11-v25H2.PolicyRules
$domaine = Get-PSGPOPolicyRuleSet -Name 'Postes - *' -SetName 'Domaine'
Compare-PSGPOPolicyRuleSet -RuleSet $baseline, $domaine -DifferenceOnly | Export-PSGPOPolicyRuleComparison -Path ./Differences.xlsx
Modèles d'administration¶
| Commande | Fait |
|---|---|
Initialize-PSGPOAdmx -Path [-UICulture] |
charge les fichiers ADMX et ADML d'un dossier (PolicyDefinitions local ou magasin central) |
Install-PSGPOAdmx [-UICulture] [-AllLanguages] [-Path] [-CentralStore] [-MsiPath] [-Force] |
installe les fichiers ADMX de Windows depuis le paquet de Microsoft (vérifiés), dans un dossier ou le magasin central du domaine |
Get-PSGPOPolicy [-Scope Machine\|User] |
les stratégies chargées |
Get-PSGPOCategory |
leurs catégories |
Get-PSGPOSupportedOn |
les plateformes qu'elles prennent en charge |
Initialize-PSGPOAdmx -Path C:\Windows\PolicyDefinitions -UICulture fr-FR
Get-PSGPOPolicy -Scope Machine | Where-Object DisplayName -Like '*biom*' | Select-Object DisplayName, Registry
Le module¶
| Commande | Fait |
|---|---|
Start-HGPM [-Language] |
ouvre le lanceur : une tuile par outil de HGPM |
Test-PSGPOUpdate [-Prerelease] [-Quiet] [-Repository] |
dit si une version plus récente de HGPM est sur la PowerShell Gallery, et la commande qui l'installe |
Stratégies de mot de passe¶
| Commande | Fait |
|---|---|
Show-PSOManagerAvalonia [-Server] [-Credential] [-UseSsl] [-View Policies\|Resultant] [-Language] |
ouvre la console des stratégies de mot de passe affinées (PSO) |
Get-PSGPOFineGrainedPasswordPolicy [-Name] |
les PSO du domaine, par ordre de priorité, avec les utilisateurs et groupes auxquels ils s'appliquent |
Get-PSGPODefaultPasswordPolicy |
la stratégie de mot de passe du domaine, pour les comptes qu'aucun PSO ne concerne |
New-PSGPOFineGrainedPasswordPolicy -Name -Precedence [-MinPasswordLength] [-MaxPasswordAge] [-LockoutThreshold] [-AppliesTo]... |
crée un PSO, avec par défaut les paramètres du Centre d'administration |
Set-PSGPOFineGrainedPasswordPolicy -Name [-NewName] [-Precedence] [-ProtectedFromAccidentalDeletion]... |
modifie, renomme, protège des PSO |
Remove-PSGPOFineGrainedPasswordPolicy -Name |
supprime des PSO non protégés contre la suppression accidentelle |
Add-PSGPOFineGrainedPasswordPolicySubject -Name -Subject |
applique des PSO à des utilisateurs et des groupes |
Remove-PSGPOFineGrainedPasswordPolicySubject -Name -Subject |
cesse de les appliquer |
Get-PSGPOResultantPasswordPolicy -Identity |
le PSO qui s'applique à un utilisateur ou un groupe, et pourquoi pas les autres |
New-PSGPOFineGrainedPasswordPolicy -Name 'PSO - Tier 1 Admins' -Precedence 10 -MinPasswordLength 16 -AppliesTo 'GPO-Tier1-Admins'
(Get-PSGPOResultantPasswordPolicy -Identity tiers1).Candidates | Format-Table Order, Name, Precedence, AppliesThrough, Status
Ce qu'elles renvoient¶
| Type | Venant de | Propriétés principales |
|---|---|---|
GPOToolsDirectory |
Get-PSGPODirectory, Import-PSGPODirectory |
DomainName, Domain, Gpos, Account, CanCreateGpo, Workflow |
GPOToolsGpo |
.Gpos, New-PSGPO |
DisplayName, Id, Version, Flags, SecurityFiltering, DeniedTo, CanEdit, Owner, ApprovalState, RemovedAtApproval, WmiFilterId |
PSGPOTools.GpoReport |
Get-PSGPOReport |
DisplayName, Id, Status, Links, Permissions, Extensions, Computer, User, NotInterpreted |
PSGPOTools.Permission |
Get-PSGPOPermission, Set-PSGPOPermission |
GpoName, GpoId, Trustee, Sid, Permission, Inherited, Denied |
PSGPOTools.Backup |
Backup-PSGPO, Get-PSGPOBackup |
Path, Id, DisplayName, BackedUp, BackedUpBy, Modified, Comment, Labels, Files |
PSGPOTools.SettingChange |
Compare-PSGPOBackup, Get-PSGPODrift |
Change, Scope, Path, Name, Before, After |
GPOToolsPolicyRuleSet |
Get-PSGPOPolicyRuleSet |
Name, Path, Rules, Extensions, GetPolicyNames() |
PSGPOTools.PolicyRuleComparison |
Compare-PSGPOPolicyRuleSet |
Scope, Path, Name, Option, une propriété par jeu, Conflict, Difference, PolicyType, Group, Setting, Explain, Cells |
PSGPOTools.Drift |
Get-PSGPODrift |
DisplayName, State, Approved, ApprovedBy, Changes |
PSGPOTools.HealthFinding |
Test-PSGPOHealth |
Severity, Check, Target, Id, DomainController, Detail |
PSGPOTools.PostureFinding |
Test-PSGPOSecurityPosture |
Severity, Check, Target, Principal, Detail |
PSGPOTools.GpoInheritance |
Get-PSGPOInheritance |
Name, ContainerType, Path, GpoInheritanceBlocked, GpoLinks, InheritedGpoLinks |
PSGPOTools.ReplicationStatus |
Get-PSGPOReplicationStatus |
DomainController, IsBaseline, DisplayName, Id, State, DirectoryVersion, SysvolVersion, BaselineVersion, Detail |
PSGPOTools.Restore |
Restore-PSGPO |
DisplayName, Id, Version, BackupBefore, CreatedAgain, Linked, Problems |
PSGPOTools.RemovedBackup |
Remove-PSGPOBackup |
DisplayName, Id, Backups, Templates, Path |
PSGPOTools.Link |
New-PSGPOLink, Set-PSGPOLink |
DisplayName, Target, Order, Enabled, Enforced |
PSGPOTools.AuditEntry |
Get-PSGPOAuditLog |
Time, Account, Computer, Server, Action, Target, GpoName, GpoId, Details |
PSGPOTools.WmiFilter |
Get-PSGPOWmiFilter, New-PSGPOWmiFilter, Set-PSGPOWmiFilter |
Name, Id, Description, Queries, Gpos, DistinguishedName |
PSGPOTools.Approval |
Approve-PSGPO |
DisplayName, Owner, CreatedBy, CreatorRights, AppliedBy, DeniedTo, GroupsCreated, RemovedPermissions, Backup |