{{tag>sysadmin windows powershell}} :TODO_DOCUPDATE: ====== PowerShell : Gestion des postes clients ====== Les cmdlets de gestion des postes clients sous Windows 10 sont regroupées dans le module ''Microsoft.PowerShell.Management'' # Lister les applets de gestions Get-command -module Microsoft.PowerShell.Management # Récupère et affiche les 20 derniers échecs d'authentification Get-EventLog -LogName Security -Newest 20 -InstanceId 4625 # Effacer le journal Clear-EventLog -LogName Security ===== Gestion des droits d'accès ===== Les droits d'accès aux dossiers/fichiers sont définis par ACL (Acces Control List). On peut gérer les ACL via les cmdlets **Get-Acl** et **Set-Acl** # Les commandes de gestions des droits d'accès sont # regroupées dans le module Security Get-command -module Microsoft.PowerShell.Security # Récupère le descripteur de sécurité # associé au dossier "C:\Users\aUser\aRepository" Get-Acl -Path 'C:\Users\aUser\aRepository' | Format-List Le descripteur contient la liste des droits d'accès (ACL) dans l'attribut Acces (Get-Acl -Path 'C:\Users\aUser\aRepository').Access Pour mettre à jour les droits sur un fichier/dossier : - Récupérer une copie des ACL via **Get-Acl** ; - Créer une nouvelle règle via l'objet **FileSystemAccessRule** ; - Ajouter la règle aux autorisations ; - Appliquer les ACL modifiées au fichier/dossier avec **Set-Acl**. # récupère les ACL du fichier $myAcl = Get-Acl -Path '.\path\to\aFile' $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("aUserName","Modify","Allow") $myAcl.SetAccessRule($AccessRule) $myACL | Set-Acl -Path '.\path\to\aFile' Via PowerShell il est facile de copier les ACL d'un objet à un autre : # Copie les ACL de folderA sur FolderB Get-Acl -Path '.\path\to\folderA' | Set-ACL -Path '.\path\to\folderB' ===== Références ===== * https://learn.microsoft.com/fr-fr/training/modules/manage-settings-for-local-windows-machine-use-powershell-cmdlets/