Question
Une barre de progression durant un scrip [resolu]
- Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 11 mois #17252
par Laurent
Une barre de progression durant un scrip [resolu] a été créé par Laurent
Bonjour à tous,
Voila un bout (petit) de mon script...
Explication : je récupère des infos dans l'AD, j'utilise aussi des infos provenant de fichier texte et ensuite je créé une arborescence complexe qui peut monter à plusieurs centaines d'objets.
C'est long.
Je souhaiterais l'affichage d'une barre de progression ou au moins une animation durant l’exécution du script qui prouverai que quelque chose \"se passe\" car pour l'instant je reste bête devant mon prompt et mon écran vide
[code:1]#Script pour créer une arborescence (dossiers vides) à partir des informations de l'AD et de fichiers txt
New-Item -type directory -path $disk\$col\$ressource
New-Item -type directory -path $disk\$col\$echange
#créer une arborescence lieux pour les répertoires RESSOURCE et ECHANGE
$list_lieux = Get-Content \"lieux.txt\"
Foreach($lieux in $list_lieux)
{
New-Item -type directory -path $disk\$col\$ressource\$lieux
New-Item -type directory -path $disk\$col\$echange\$lieux
}
#Boucle pour créer une arborescence des groupes et classement des user dans les groupes
$list_group = Get-Content \"groupes.txt\"
Foreach($groupe in $list_group)
{
If ($groupe.startswith(\"1\"«»))
{
#Recherche dans l'AD des users du groupe
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry(\"LDAP://OU=xxxxx,OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx\"«»)
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall() | %{$_.properties.name} | out-file user.txt
$list_user = Get-Content \"user.txt\"
Foreach($user in $list_user)
{
New-Item -type directory -path $disk\$col\groupe-1\$groupe\$user
}
}
elseIf ($groupe.startswith(\"2\"«»))
{
#Recherche dans l'AD des users du groupe
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry(\"LDAP://OU=xxxxx,OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx\"«»)
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall() | %{$_.properties.name} | out-file user.txt
$list_user = Get-Content \"user.txt\"
Foreach($user in $list_user)
{
New-Item -type directory -path $disk\$col\groupe-2\$groupe\$user
}
}
}
# et ainsi de suite... je peux avoir une dizaine de groupes avec à chaque fois des poignées de user
Write-Host -foregroundcolor yellow \"Processus création répertoires terminé\";[/code:1]
En furetant j'ai trouvé du code notamment avec la commande \"Write-Progress\" mais je sais pas comment l'intégrer
Si quelqu'un voit comment répondre à ce problème ?
Merci
Message édité par: Sasquash, à: 1/04/14 19:25<br><br>Message édité par: Sasquash, à: 3/04/14 09:06
Voila un bout (petit) de mon script...
Explication : je récupère des infos dans l'AD, j'utilise aussi des infos provenant de fichier texte et ensuite je créé une arborescence complexe qui peut monter à plusieurs centaines d'objets.
C'est long.
Je souhaiterais l'affichage d'une barre de progression ou au moins une animation durant l’exécution du script qui prouverai que quelque chose \"se passe\" car pour l'instant je reste bête devant mon prompt et mon écran vide
[code:1]#Script pour créer une arborescence (dossiers vides) à partir des informations de l'AD et de fichiers txt
New-Item -type directory -path $disk\$col\$ressource
New-Item -type directory -path $disk\$col\$echange
#créer une arborescence lieux pour les répertoires RESSOURCE et ECHANGE
$list_lieux = Get-Content \"lieux.txt\"
Foreach($lieux in $list_lieux)
{
New-Item -type directory -path $disk\$col\$ressource\$lieux
New-Item -type directory -path $disk\$col\$echange\$lieux
}
#Boucle pour créer une arborescence des groupes et classement des user dans les groupes
$list_group = Get-Content \"groupes.txt\"
Foreach($groupe in $list_group)
{
If ($groupe.startswith(\"1\"«»))
{
#Recherche dans l'AD des users du groupe
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry(\"LDAP://OU=xxxxx,OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx\"«»)
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall() | %{$_.properties.name} | out-file user.txt
$list_user = Get-Content \"user.txt\"
Foreach($user in $list_user)
{
New-Item -type directory -path $disk\$col\groupe-1\$groupe\$user
}
}
elseIf ($groupe.startswith(\"2\"«»))
{
#Recherche dans l'AD des users du groupe
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry(\"LDAP://OU=xxxxx,OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx\"«»)
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall() | %{$_.properties.name} | out-file user.txt
$list_user = Get-Content \"user.txt\"
Foreach($user in $list_user)
{
New-Item -type directory -path $disk\$col\groupe-2\$groupe\$user
}
}
}
# et ainsi de suite... je peux avoir une dizaine de groupes avec à chaque fois des poignées de user
Write-Host -foregroundcolor yellow \"Processus création répertoires terminé\";[/code:1]
En furetant j'ai trouvé du code notamment avec la commande \"Write-Progress\" mais je sais pas comment l'intégrer
Si quelqu'un voit comment répondre à ce problème ?
Merci
Message édité par: Sasquash, à: 1/04/14 19:25<br><br>Message édité par: Sasquash, à: 3/04/14 09:06
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 11 mois #17258
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Une barre de progression durant un scrip
Salut,
le prérequis est de connaitre le total de chaque itération, et comme ici il y en a deux imbriquées, tu peux consulter ce post .
le prérequis est de connaitre le total de chaque itération, et comme ici il y en a deux imbriquées, tu peux consulter ce post .
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 11 mois #17260
par Laurent
Réponse de Laurent sur le sujet Re:Une barre de progression durant un scrip
Merci de cette réponse.
Effectivement, d'après mes lectures et votre réponse tout tiens sur le nombre d'itération...chose que je ne maitrise pas puisque certaines données source peuvent varier en nombre d'une fois sur l'autre.
Je vais me pencher sur votre lien
Effectivement, d'après mes lectures et votre réponse tout tiens sur le nombre d'itération...chose que je ne maitrise pas puisque certaines données source peuvent varier en nombre d'une fois sur l'autre.
Je vais me pencher sur votre lien
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 11 mois #17261
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Une barre de progression durant un scrip
Sasquash écrit:
[code:1]
$total=$list_group.count
Foreach($groupe in $list_group)
$total2=$list_user.count
Foreach($user in $list_user)
[/code:1]
Il faut juste s'assurer que le résultat soit tjr une collection:
[code:1]
$list_group = @(Get-Content \"groupes.txt\"«»)
[/code:1]
A priori, ici une variable porte l'information :certaines données source peuvent varier en nombre d'une fois sur l'autre.
[code:1]
$total=$list_group.count
Foreach($groupe in $list_group)
$total2=$list_user.count
Foreach($user in $list_user)
[/code:1]
Il faut juste s'assurer que le résultat soit tjr une collection:
[code:1]
$list_group = @(Get-Content \"groupes.txt\"«»)
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 11 mois #17272
par Laurent
Réponse de Laurent sur le sujet Re:Une barre de progression durant un scrip
Oui tout à fait 
Ce post m'a bien aiguillé et j'ai résolu mon problème maintenant.
Je fais une barre de progression pour chaque boucle et ça répond à mon attente.
Merci
Ce post m'a bien aiguillé et j'ai résolu mon problème maintenant.
Je fais une barre de progression pour chaque boucle et ça répond à mon attente.
Merci
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Une barre de progression durant un scrip [resolu]