Aller au contenu

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