Table des matières

, ,

: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 :

  1. Récupérer une copie des ACL via Get-Acl ;
  2. Créer une nouvelle règle via l'objet FileSystemAccessRule ;
  3. Ajouter la règle aux autorisations ;
  4. 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