« PowerShell/Sécurité » : différence entre les versions

Aller à la navigation Aller à la recherche
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
{{Sommaire}}
{{Sommaire}}
== Identifiant en clair ==
<source>
<#
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
</source>


== Stockage des identifiants dans un fichier ==
== Stockage des identifiants dans un fichier ==
Ligne 14 : Ligne 37 :
</source>
</source>


== Utilisation du gestionnaire d'identification ==
== Utilisation du gestionnaire d'identification Windows ==
Avec les prérequis suivants :
Avec les prérequis suivants :
* <source inline>Install-Module -Name CredentialManager</source>
* <source inline>Install-Module -Name CredentialManager</source>
* <source inline>Set-ExecutionPolicy RemoteSigned</source>
* <source inline>Set-ExecutionPolicy RemoteSigned</source>


Etape 1 : création d'une nouvelle identification :
Etape 1 : création d'une nouvelle identification via le "Gestionnaire d'identification" :
* "ajouter des informations d'identification générique"
* "ajouter des informations d'identification générique"
* adresse internet ou réseau, nom d'utilisateur et mot de passe
* adresse internet ou réseau, nom d'utilisateur et mot de passe

Dernière version du 28 mars 2024 à 10:08

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

  •