PowerShell/Sécurité

Aller à la navigation Aller à la recherche

Identifiant en clair

<#
Description : création d'un lecteur réseau, avec utilisation d'un compte et d'un mot de passe
Usage       : exercice en PowerShell
Auteur      : fylip22
Version     : 1.0
Révisions   :
    - 1.0 (27/03/2024) : fylip22, création du script
#>
# mot de passe
$password = ConvertTo-SecureString "MonMotDePasse" -AsPlainText -Force

# autre variable
$R1 = "192.168.1.11"

# création de l'identifiant (association compte et mot de passe
$Identifiant = New-Object System.Management.Automation.PSCredential ("$R1\username", $password)

# création du lecteur T:
New-PSDrive -Name t -Root "\\$R1\dossierpartage$" -PSProvider "FileSystem" -Credential $Identifiant

Stockage des identifiants dans un fichier

Création d'un fichier contenant les identifiants :

$IdentFichier = "c:\support\lecompte.xml"
New-Object System.Management.Automation.PSCredential("lecompte", (ConvertTo-SecureString -AsPlainText -Force "#MonMotdePasse2023*")) | Export-Clixml $IdentFichier

Utilisation du fichier contenant les identifiants:

$IdentFichier = "c:\support\lecompte.xml"
$Ident = Import-Clixml -path $IdentFichier

Utilisation du gestionnaire d'identification Windows

Avec les prérequis suivants :

  • Install-Module -Name CredentialManager
  • Set-ExecutionPolicy RemoteSigned

Etape 1 : création d'une nouvelle identification via le "Gestionnaire d'identification" :

  • "ajouter des informations d'identification générique"
  • adresse internet ou réseau, nom d'utilisateur et mot de passe
    • exemple "o365, moncompte@toto.onmicrosoft.com, monmotdepasse"

Etape 2 : récupération des informations :

  • $cred = Get-StoredCredential -Target "o365"

Source

Youtube, Shane Young, Learn to securely use Passwords with PowerShell :

Liste des droits sur le contenu d'une arborescence

# Liste des droits de sécurité sur les dossiers et fichiers d'une arborescence
# Création d'un fichier

$FichierDestination = "C:\Support\PermissionListeTest.csv"
$CheminRacine = "C:\Support\"

# Entête de document
$FichierEntete = "Chemin;IdentityReference;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags;FilesystemRights" 

$FichierExiste = Test-Path $FichierDestination  
If ($FichierExiste -eq $True) {Remove-Item $FichierDestination}  

Add-Content -Encoding UTF8 -Value $FichierEntete -Path $FichierDestination

$DossierListe = dir $CheminRacine -recurse | Where {$_.psiscontainer -eq $True}  

Foreach ($Dossier in $DossierListe) { 
  $DroitListe = Get-ACL $Dossier.fullname | ForEach-Object { $_.Access } 
  Foreach ($Droit in $DroitListe) { 
    $FichierLigne = ($Dossier.Fullname, 
                     $Droit.IdentityReference,
                     $Droit.AccessControlType, 
                     $Droit.IsInherited, 
                     $Droit.InheritanceFlags, 
                     $Droit.PropagationFlags, 
                     ($Droit.FileSystemRights -replace ',', '/' )
                     ) -join ";"
    Add-Content -Encoding UTF8 -Value $FichierLigne -Path $FichierDestination 
    }
}

Autre

Pour la mise à jour de compte utilisateur, attribut titre et numéro de mobile, d'après le nom du compte et une fichier :

  • Import-Csv "D:\script\util-maj-tel.csv" | Foreach { Set-ADUser -Identity $_.SamAccountName –Title $_.Title -MobilePhone $_.MobilePhone }

Copier les groupes de sécurité d'un compte vers un autre !

  • Get-ADUser -Identity "comptesource" -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members "comptecible"

Ressource

Installer le module Active Directory sur Windows 10 et Windows Server

Gérer les utilisateurs Active Directory avec PowerShell

Créer un utilisateur dans l’Active Directory avec PowerShell

Gérer les utilisateurs et ordinateurs inactifs dans l’Active Directory

Voir aussi

  •