diff --git a/Windows/Gestion des postes/Gestion des partages.md b/Windows/Gestion des postes/Gestion des partages.md
index 9a65978..1664567 100644
--- a/Windows/Gestion des postes/Gestion des partages.md
+++ b/Windows/Gestion des postes/Gestion des partages.md
@@ -43,201 +43,59 @@ net share MonPartage=c:\share /GRANT:Ichbine,Full
---
# **Gestion des partage avec PowerShell
**
+## Mise en place du partage
+### créer un partage
+```powershell
+New-SmbShare -Name "nom du partage" -Path "chemin vers le dossier de partage" -FullAccess "groupe d'utilisateur" -ReadAccess "groupe d'utilisateur"
+```
+- exemple
+```powershell
+New-SmbShare -Name Partage -Path "C:\Partage\" -FullAccess "Administrateurs" -ReadAccess "Utilisateurs"
+```
+---
+### lister les partages
+```powershell
+Get-SmbShare
+```
+---
+## Gérer les droits NTFS sur le partage
+### ajouter des droits sur le partage
+```powershell
+Grant-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -AccessRight "type de droit" -Force
+```
+> 💡 Le paramètre -Force permet de zapper la confirmation.
+- exemple:
+```powershell
+Grant-SmbShareAccess -Name "Partage" -AccountName "Ichbine" -AccessRight Full -Force
+```
+---
+### ajouter des droits d'accès sur le partage
+```powershell
+Grant-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -AccessRight "type de droit" -Force
+```
+- exemple:
+```powershell
+Grant-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -AccessRight Read -Force
+```
+---
+### supprimer des droits d'accès sur le partage
+```powershell
+Revoke-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -Force
+```
+> 💡 Le paramètre -Force permet de zapper la confirmation.
+- exemple:
+```powershell
+Revoke-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -Force
+```
+### Refuser des droits d'accès sur le partage
+```powershell
+Bloke-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -Force
+```
+- exemple:
+```powershell
+Bloke-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -Force
+```
+> 💡 Le paramètre -Force permet de zapper la confirmation.
-- Déclarer un partage
-
- ```powershell
- New-SmbShare -Name "nom du partage" -Path "chemin vers le dossier de partage" -FullAccess "groupe d'utilisateur" -ReadAccess "groupe d'utilisateur"
- #exemple
- New-SmbShare -Name Partage -Path "C:\Partage\" -FullAccess "Administrateurs" -ReadAccess "Utilisateurs"
- ```
-
-- consulter les droits d’un partage
-
- ```powershell
- Get-SmbShareAccess -Name "nom du partage"
- #exemple
- Get-SmbShareAccess -Name "Partage"
- ```
-
-- Gérer les droits NTFS sur le partage
-
-
-
- - consulter les droits NTFS du partage
-
- ```powershell
- Get-NTFSAccess -Path "chemin vers le dossier de partage"
- #exemple
- Get-NTFSAccess -Path "C:\Partage"
- ```
-
-
-
- - Ajouter des droits NTFS
-
- ```powershell
- Add-NTFSAccess -Path "chemin vers le dossier de partage" -Account "compte dont on veut vérifier les droits" -AccessRights "type de droits"
- #exemple
- Add-NTFSAccess -Path "C:\Partage\" -Account "florian@it-connect.local" -AccessRights Modify
- ```
-
- - Enlever des droits NTFS
-
- ```powershell
- Remove-NTFSAccess -Path "chemin vers le dossier de partage" -Account "compte dont on veut vérifier les droits" -AccessRights "type de droits"
- #exemple
- Remove-NTFSAccess -Path "C:\Partage\" -Account "florian@it-connect.local" -AccessRights Modify
- ```
-
-- Configurer le partage
-
-
-
- - consulter les droits de Partage
-
- ```powershell
- Get-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits"
- #exemple
- Get-SmbShareAccess -Name "C:\Partage\" -AccountName "florian@it-connect.local"
- ```
-
- - ajouter des droits sur le partage
-
- ```powershell
- Grant-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -AccessRight "type de droit" -Force #permet de ne pas demander de confirmation
- #exemple
- Grant-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -AccessRight Read -Force
- ```
-
- - supprimer des droits sur le partage
-
- ```powershell
- Revoke-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -Force #permet de ne pas demander de confirmation
- #exemple
- Revoke-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -Force
- ```
-
- - Bloquer l’accès à un partage
-
- ```powershell
- Bloke-SmbShareAccess -Name "chemin vers le dossier de partage" -AccountName "compte dont on veut vérifier les droits" -Force #permet de ne pas demander de confirmation
- #exemple
- Bloke-SmbShareAccess -Name "Partage" -AccountName "florian@it-connect.local" -Force
-
- #N.B: on peut débloquer en changeant Bloke par Unbloke
- ```
-
-- Script complet
-
- ```powershell
- param (
- [string]$FolderPath,
- [string]$FolderName,
- [string]$share
- )
-
- # Importer le module Active Directory
- Import-Module ActiveDirectory
- #Install-Module NTFSSecurity
- Import-Module NTFSSecurity
-
- # Définir les noms des groupes
- $domain = (Get-ADDomain).DNSRoot
- $groupPrefix = "DL-$FolderName"
-
- $groups = @{
- "Refus" = "$groupPrefix-R"
- "ControleTotal" = "$groupPrefix-CT"
- "Ecriture" = "$groupPrefix-E"
- "Lecture" = "$groupPrefix-L"
- }
-
- # Créer les groupes dans Active Directory
- foreach ($key in $groups.Keys) {
- $groupName = $groups[$key]
- $PathDL = "OU=03-Ressources,OU=22-Services,OU=MT,DC=mt,DC=msprsx,DC=eni"
- if (-Not (Get-ADGroup -Filter { Name -eq $groupName })) {
- New-ADGroup -Name $groupName -SamAccountName $groupName -GroupScope DomainLocal -Path $PathDL
- Write-Host "Created AD Group: $groupName"
- } else {
- Write-Host "AD Group already exists: $groupName"
- }
- }
-
- # Fonction pour partager un dossier
- function Share-Folder {
- if (-Not (Get-SmbShare -Name $share -ErrorAction SilentlyContinue)) {
- New-SmbShare -Name $share -Path $folderPath
- $droits_partage = Get-SmbShareAccess -Name $share
- foreach ($compte in $droits_partage){
- $compte_list = $compte.AccountName
- if($compte_list -notlike "Utilisateurs du domaine"){
- Revoke-SmbShareAccess -AccountName $compte_list -Name $share -Force
- Grant-SmbShareAccess -Name $share -AccountName "$domain\Utilisateurs du domaine" -AccessRight Full -Force
- }
- }
- Write-Host "Created share: $share"
- } else {
- Write-Host "Share already exists: $share"
- }
- }
-
- # Fonction gestion des droits NTFS dossier partagé
- function Permission-Dossier {
- # Ajout des groupes DL au permission du dossier
- foreach ($key in $groups.Keys) {
- $groupName = $groups[$key]
- if ($groupName -like "*-CT"){
- Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights FullControl
- } elseif ($groupName -like "*-E"){
- Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights ReadAndExecute
- } elseif ($groupName -like "*-L"){
- Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights Read
- }
- }
- # Obtenir la liste des comptes autorisés et leurs permissions sur le chemin spécifié
- $compt_autor = Get-NTFSAccess -Path $folderPath
-
- # Itérer à travers chaque compte autorisé
- foreach ($compt in $compt_autor) {
- $Account = $compt.Account
- $AccessRights = $compt.AccessRights
-
- # Afficher le nom du compte
- Write-Output "Traitement du compte : $Account"
-
- # Condition pour vérifier si le compte ne contient pas "$share"
- if ($Account -notlike "*$share*") {
- # Retirer les permissions pour le compte
- Write-Output "Retrait des permissions pour le compte : $Account"
- Remove-NTFSAccess -Path $folderPath -Account $Account -AccessRights $AccessRights
- } else {
- Write-Output "Le compte $Account contient 'DATA' et ne sera pas modifié."
- }
- }
- }
-
- Share-Folder
- Permission-Dossier
-
- Write-Host "Script execution completed."
-
- ```
\ No newline at end of file
+> 💡 on peut débloquer en changeant Bloke par Unbloke
+---
\ No newline at end of file
diff --git a/Windows/Gestion des postes/Scripts prèt à porter/Créations des partages.ps1 b/Windows/Gestion des postes/Scripts prèt à porter/Créations des partages.ps1
new file mode 100644
index 0000000..6669979
--- /dev/null
+++ b/Windows/Gestion des postes/Scripts prèt à porter/Créations des partages.ps1
@@ -0,0 +1,94 @@
+```powershell
+ param (
+ [string]$FolderPath,
+ [string]$FolderName,
+ [string]$share
+ )
+
+ # Importer le module Active Directory
+ Import-Module ActiveDirectory
+ #Install-Module NTFSSecurity
+ Import-Module NTFSSecurity
+
+ # Définir les noms des groupes
+ $domain = (Get-ADDomain).DNSRoot
+ $groupPrefix = "DL-$FolderName"
+
+ $groups = @{
+ "Refus" = "$groupPrefix-R"
+ "ControleTotal" = "$groupPrefix-CT"
+ "Ecriture" = "$groupPrefix-E"
+ "Lecture" = "$groupPrefix-L"
+ }
+
+ # Créer les groupes dans Active Directory
+ foreach ($key in $groups.Keys) {
+ $groupName = $groups[$key]
+ $PathDL = "OU=03-Ressources,OU=22-Services,OU=MT,DC=mt,DC=msprsx,DC=eni"
+ if (-Not (Get-ADGroup -Filter { Name -eq $groupName })) {
+ New-ADGroup -Name $groupName -SamAccountName $groupName -GroupScope DomainLocal -Path $PathDL
+ Write-Host "Created AD Group: $groupName"
+ } else {
+ Write-Host "AD Group already exists: $groupName"
+ }
+ }
+
+ # Fonction pour partager un dossier
+ function Share-Folder {
+ if (-Not (Get-SmbShare -Name $share -ErrorAction SilentlyContinue)) {
+ New-SmbShare -Name $share -Path $folderPath
+ $droits_partage = Get-SmbShareAccess -Name $share
+ foreach ($compte in $droits_partage){
+ $compte_list = $compte.AccountName
+ if($compte_list -notlike "Utilisateurs du domaine"){
+ Revoke-SmbShareAccess -AccountName $compte_list -Name $share -Force
+ Grant-SmbShareAccess -Name $share -AccountName "$domain\Utilisateurs du domaine" -AccessRight Full -Force
+ }
+ }
+ Write-Host "Created share: $share"
+ } else {
+ Write-Host "Share already exists: $share"
+ }
+ }
+
+ # Fonction gestion des droits NTFS dossier partagé
+ function Permission-Dossier {
+ # Ajout des groupes DL au permission du dossier
+ foreach ($key in $groups.Keys) {
+ $groupName = $groups[$key]
+ if ($groupName -like "*-CT"){
+ Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights FullControl
+ } elseif ($groupName -like "*-E"){
+ Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights ReadAndExecute
+ } elseif ($groupName -like "*-L"){
+ Add-NTFSAccess -Path $folderPath -Account "$groupName@$domain" -AccessRights Read
+ }
+ }
+ # Obtenir la liste des comptes autorisés et leurs permissions sur le chemin spécifié
+ $compt_autor = Get-NTFSAccess -Path $folderPath
+
+ # Itérer à travers chaque compte autorisé
+ foreach ($compt in $compt_autor) {
+ $Account = $compt.Account
+ $AccessRights = $compt.AccessRights
+
+ # Afficher le nom du compte
+ Write-Output "Traitement du compte : $Account"
+
+ # Condition pour vérifier si le compte ne contient pas "$share"
+ if ($Account -notlike "*$share*") {
+ # Retirer les permissions pour le compte
+ Write-Output "Retrait des permissions pour le compte : $Account"
+ Remove-NTFSAccess -Path $folderPath -Account $Account -AccessRights $AccessRights
+ } else {
+ Write-Output "Le compte $Account contient 'DATA' et ne sera pas modifié."
+ }
+ }
+ }
+
+ Share-Folder
+ Permission-Dossier
+
+ Write-Host "Script execution completed."
+
+ ```
\ No newline at end of file