- forum
- PowerShell
- Entraide pour les débutants
- Script pour les montages automatiques de partages de fichiers
Question
Script pour les montages automatiques de partages de fichiers
- Samuel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 9 mois 2 semaines - il y a 9 mois 2 jours #34724
par Samuel
Bonjour,
Je m'y connais pas en script. J'ai un devoir où il est demandé de créer un script powershell qui permet l'automatisation des montages des partages de fichiers.
J'ai une machine Windows Server 2019 Active Directory, ma machine cliente est sur Windows 10. J'ai déjà crée les utilisateurs et les groupes de sécurité.
Sur l'AD, j'ai crée des dossiers partagés. Je ne sais pas le but réel du script. Je suppose qu'il doit interroge les groupes de sécurité Active Directory de l'utilisateur actuel et monte le lecteur réseau.
Si vous pouvez m'aider pour mon devoir s'il vous plaît ?
Je m'y connais pas en script. J'ai un devoir où il est demandé de créer un script powershell qui permet l'automatisation des montages des partages de fichiers.
J'ai une machine Windows Server 2019 Active Directory, ma machine cliente est sur Windows 10. J'ai déjà crée les utilisateurs et les groupes de sécurité.
Sur l'AD, j'ai crée des dossiers partagés. Je ne sais pas le but réel du script. Je suppose qu'il doit interroge les groupes de sécurité Active Directory de l'utilisateur actuel et monte le lecteur réseau.
Si vous pouvez m'aider pour mon devoir s'il vous plaît ?
Pièces jointes :
Dernière édition: il y a 9 mois 2 jours par Arnaud Petitjean.
Connexion ou Créer un compte pour participer à la conversation.
- Samuel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 9 mois 2 semaines - il y a 9 mois 2 jours #34725
par Samuel
Réponse de Samuel sur le sujet Script pour les montages automatiques de partages de fichiers
Update : J'ai réalisé ce script, je ne sais pas si il n'y aura pas de soucis quand je voudrais le déployer sur les machines clientes.
Merci d'avance.
<#
Description : Script permettant d'automatiser les montages des partages de fichiers
Auteur : Samuel P.
Date : 2025-04
Version : 1.0
#>
# Paramètres à configurer
$cheminReseau = "\\SRV-AD\Commun"
$partageReseau = @(
@{
nomGroupe = "GG_Direction" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\Direction" # Chemin du partage
}
@{
nomGroupe = "GG_RH" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\RH" # Chemin du partage
}
@{
nomGroupe = "GG_Assistant_direction" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Direction_Prod_Com" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Charge_com" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Assistant_prod" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Direction_Technique" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Lead_Developpeur" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Developpeur" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\Developpeur" # Chemin du partage
}
@{
nomGroupe = "GG_Direction_Graphique" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Game_Designer" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Level_Designer" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Developpeur_Shader" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_UX_Designer" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Animateur_cinematique" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Direction_Audio" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Sound_Designer" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Lead_Testeur" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
@{
nomGroupe = "GG_Testeur" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\Testeur" # Chemin du partage
}
@{
nomGroupe = "GG_Admin_domaine" # Nom d'un groupe AD
cheminPartage = "$cheminReseau\" # Chemin du partage
}
)
# Afficher les informations de l'utilisateur
Write-Host "Utilisateur actuel : $env:USERNAME"
Write-Host "Domaine : $env:USERDOMAIN"
# Fonction pour vérifier si le lecteur réseau existe déjà
function lecteurReseauExiste {
return (Get-PSDrive -Name 'Z' -ErrorAction SilentlyContinue)
}
# Fonction pour vérifier si le dossier partagé existe
function cheminReseauExiste {
return Test-Path $cheminReseau
}
# Variable des deux fonctions pour vérifier si le lecteur Reseau et le Chemin Reseau existent
$existeLecteurReseau = lecteurReseauExiste
$existeDossierShare = cheminReseauExiste
echo $existeLecteurReseau
echo $existeDossierShare
# Récupère le groupe de sécurité de l'utilisateur
try {
$ADGroupes = Get-ADPrincipalGroupMembership -Identity $env:Username | Select-Object -ExpandProperty Name
Write-Host "Groupes de sécurité de l'utilisateur '$env:Username': $ADGroupes"
} catch {
Write-Warning "Erreur : Impossible d'obtenir le groupe Active Directory de l'utilisateur : $($_.Exception.Message)"
}
# Parcourir la configuration des partages
foreach ($config in $partageReseau) {
$nomGroupe = $config.nomGroupe
$cheminPartage = $config.cheminPartage
# Vérifie si l'utilisateur est membre d'un groupe
if ($ADGroupes -contains $nomGroupe) {
Write-Host "L'utilisateur est membre du groupe '$nomGroupe'."
# Vérifie si le lecteur réseau est déjà monté
if ($existeLecteurReseau){
# Monter le lecteur réseau
try {
New-PSDrive -Name 'Z' -PSProvider FileSystem -Root $cheminPartage -Persist
Write-Output "Lecteur Z: monté avec succès vers $cheminPartage"
}
catch {
Write-Error "Une erreur s'est produite lors de la récupération des informations de groupe: $($_.Exception.Message)"
}
} else {
Write-Host "Le lecteur est déjà monté."
}
} else {
Write-Host "L'utilisateur n'est pas membre du groupe '$nomGroupe'."
}
}Merci d'avance.
Pièces jointes :
Dernière édition: il y a 9 mois 2 jours par Arnaud Petitjean. Raison: Mise en forme du code
Connexion ou Créer un compte pour participer à la conversation.
- Francois Dunoyer
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 4
il y a 8 mois 4 semaines - il y a 8 mois 4 semaines #34739
par Francois Dunoyer
Réponse de Francois Dunoyer sur le sujet Script pour les montages automatiques de partages de fichiers
dans les "soucis" potentiels que je vois..
Get-ADPrincipalGroupMembership c'est pas une fonction "standard" sur un poste de travail.
Soit tu as deployé en masse le module qui permet de l'utiliser soit ça ne fonctionnera pas
Get-ADPrincipalGroupMembership c'est pas une fonction "standard" sur un poste de travail.
Soit tu as deployé en masse le module qui permet de l'utiliser soit ça ne fonctionnera pas
Dernière édition: il y a 8 mois 4 semaines par Francois Dunoyer.
Connexion ou Créer un compte pour participer à la conversation.
- Samuel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 8 mois 3 semaines #34748
par Samuel
Réponse de Samuel sur le sujet Script pour les montages automatiques de partages de fichiers
Ah, je dois soit ajouter au script quand il est exécuté un moyen de déployé le module soit trouver une alternative.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 8 mois 3 semaines #34749
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Script pour les montages automatiques de partages de fichiers
Bonjour Samuel,
Pour te simplifier la vie, tu pourrais simplement intégrer la fonction Get-ADPrincipalGroupMembership directement dans ton script. Ainsi, pas besoin de déployer le module
.
Arnaud
Pour te simplifier la vie, tu pourrais simplement intégrer la fonction Get-ADPrincipalGroupMembership directement dans ton script. Ainsi, pas besoin de déployer le module
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Francois Dunoyer
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 4
il y a 8 mois 3 semaines - il y a 8 mois 1 semaine #34751
par Francois Dunoyer
Réponse de Francois Dunoyer sur le sujet Script pour les montages automatiques de partages de fichiers
tu peux essayer ça :
$Username = $env:USERNAME
$Domain = $env:userdomain
$User = [ADSI]"WinNT://$Domain/$Username,user"
$Groups = @()
foreach ($Group in $User.Groups()) {
$Groups += $Group.GetType().InvokeMember("Name", 'GetProperty', $null, $Group, $null)
}
$Groups
Dernière édition: il y a 8 mois 1 semaine par Arnaud Petitjean. Raison: Mise en forme du code
Les utilisateur(s) suivant ont remercié: Arnaud Petitjean
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Script pour les montages automatiques de partages de fichiers
Temps de génération de la page : 0.093 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script pour les montages automatiques de partages de fichiers