Question
progress bar
- hans christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 15 ans 9 mois #2535
par hans christophe
progress bar a été créé par hans christophe
Bonjour
je souhait intégrer nu progress bar dans mon script pour voir l'évolution de mon move-mailbox.
je prit le tuto sur le site qui concerne la progress bar, quand j'insère le code dans mon script, il m'affiche une fenêtre avec la barre de progression et ensuite fait les commande ce trouvant dans le script
je n'arrive pas a trouver ce qu'il faut ajouter/modifier dans le script du tuto pour qu'il m'affiche correctement la progression de la commande
ps: move mailbox de +/- 150 MB
merci
je souhait intégrer nu progress bar dans mon script pour voir l'évolution de mon move-mailbox.
je prit le tuto sur le site qui concerne la progress bar, quand j'insère le code dans mon script, il m'affiche une fenêtre avec la barre de progression et ensuite fait les commande ce trouvant dans le script
je n'arrive pas a trouver ce qu'il faut ajouter/modifier dans le script du tuto pour qu'il m'affiche correctement la progression de la commande
ps: move mailbox de +/- 150 MB
merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 9 mois #2538
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:progress bar
Salut, je n'ai pas compris de quel code tu parles.
Sinon consulte ce post :
powershell-scripting.com/index.php?optio...;id=2283&catid=5
Sinon consulte ce post :
powershell-scripting.com/index.php?optio...;id=2283&catid=5
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- hans christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 15 ans 9 mois #2540
par hans christophe
Réponse de hans christophe sur le sujet Re:progress bar
Voilà le script en question
donc quand je le lance j'ai la progressbar et ensuite la commande move-mailbox qui ce lance
je ne trouve pas comment faire pour avoir la progress bar liée au move-mailbox
[code:1]# 1
$a = new-object -comobject wscript.shell
$b = $a.popup(\" insert source forest credentail \",0, \"Move mailbox \",1)
if ($b -eq 2) {exit}
$SourceCredential = Get-Credential -credential
# 2
$a = new-object -comobject wscript.shell
$b = $a.popup(\" insert Target forest credentail \",0, \"Move mailbox \",1)
if ($b -eq 2) {exit}
$TargetCredential = Get-Credential -credential
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
# Timer
$timer = new-object System.Windows.forms.timer
$timer.Interval = 1000 # 1 seconde
# progressBar1
$progressBar1 = new-object System.Windows.Forms.ProgressBar
$progressBar1.Location = new-object System.Drawing.Point(58, 107)
$progressBar1.Name = 'progressBar1'
$progressBar1.Size = new-object System.Drawing.Size(164, 23)
$progressBar1.Value = 0
$progressbar1.style = 'continuous'
$progressbar1.step = 1
# Label1
$label1 = new-object System.Windows.Forms.Label
$label1.Location = new-object System.Drawing.Point(70, 70)
$label1.Size = new-object System.Drawing.Size(139,13)
$label1.Text = 'Style continuous :'
$Form1 = new-object System.Windows.Forms.form
# Form1
$Form1.Controls.Add($label1)
$Form1.ClientSize = new-object System.Drawing.Size(284, 264)
$Form1.Controls.Add($progressBar1)
$Form1.Text = \"Barre de progression - 1\"
$timer.Add_Tick({
$progressBar1.PerformStep()
})
$timer.Start()
$Form1.ShowDialog()
import-CSV \"c:\movemb.csv\" | foreach {Move-mailbox -targetdatabase \"test\" -AllowMerge -identity $_.identity -globalcatalog test -sourceforestglobalcatalog test -NTAccountOU $_.OU -sourceforestcredential $sourcecredential -targetforestcredential $targetcredential}
[/code:1]<br><br>Message édité par: hansc, à: 3/07/08 09:37
donc quand je le lance j'ai la progressbar et ensuite la commande move-mailbox qui ce lance
je ne trouve pas comment faire pour avoir la progress bar liée au move-mailbox
[code:1]# 1
$a = new-object -comobject wscript.shell
$b = $a.popup(\" insert source forest credentail \",0, \"Move mailbox \",1)
if ($b -eq 2) {exit}
$SourceCredential = Get-Credential -credential
# 2
$a = new-object -comobject wscript.shell
$b = $a.popup(\" insert Target forest credentail \",0, \"Move mailbox \",1)
if ($b -eq 2) {exit}
$TargetCredential = Get-Credential -credential
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
# Timer
$timer = new-object System.Windows.forms.timer
$timer.Interval = 1000 # 1 seconde
# progressBar1
$progressBar1 = new-object System.Windows.Forms.ProgressBar
$progressBar1.Location = new-object System.Drawing.Point(58, 107)
$progressBar1.Name = 'progressBar1'
$progressBar1.Size = new-object System.Drawing.Size(164, 23)
$progressBar1.Value = 0
$progressbar1.style = 'continuous'
$progressbar1.step = 1
# Label1
$label1 = new-object System.Windows.Forms.Label
$label1.Location = new-object System.Drawing.Point(70, 70)
$label1.Size = new-object System.Drawing.Size(139,13)
$label1.Text = 'Style continuous :'
$Form1 = new-object System.Windows.Forms.form
# Form1
$Form1.Controls.Add($label1)
$Form1.ClientSize = new-object System.Drawing.Size(284, 264)
$Form1.Controls.Add($progressBar1)
$Form1.Text = \"Barre de progression - 1\"
$timer.Add_Tick({
$progressBar1.PerformStep()
})
$timer.Start()
$Form1.ShowDialog()
import-CSV \"c:\movemb.csv\" | foreach {Move-mailbox -targetdatabase \"test\" -AllowMerge -identity $_.identity -globalcatalog test -sourceforestglobalcatalog test -NTAccountOU $_.OU -sourceforestcredential $sourcecredential -targetforestcredential $targetcredential}
[/code:1]<br><br>Message édité par: hansc, à: 3/07/08 09:37
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 9 mois #2544
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:progress bar
hansc écrit:
De la manière dont tu procédes ici, ça ne marcherais pas de toute façons. Ton code doit se retrouver dans une fonction appellée par le timer, c'est lui qui déclenche l'exécution de ton opération de déplacement. Et ici il faut connaître le temps max d'exécution de cette opération. Si le temps indiqué dans la propriété interval n'est pas assez important le timer peut se redéclencher alors que l'appel de l'opération précédente n'est pas terminée.
Sur ce je ne suis pas sûr de ce que j'avance car je ne connais pas suffisament le fonctionnement des Winforms mais étant prévoyant je préfére douter.
Autre chose, l'information identity doit être récupérer avant d'exécuter le move sinon tu te recommencera sur l'ensemble des identités.
[edit]
La propriété est Interval pas Ticks.<br><br>Message édité par: Laurent Dardenne, à: 3/07/08 18:09
J'ai testée le script proposé dans le tuto par Arnaud mais sans résulat. Il manquer \"qq chose\" dans l'enchaînement des événements, je regarde ça.je ne trouve pas comment faire pour avoir la progress bar liée au move-mailbox
De la manière dont tu procédes ici, ça ne marcherais pas de toute façons. Ton code doit se retrouver dans une fonction appellée par le timer, c'est lui qui déclenche l'exécution de ton opération de déplacement. Et ici il faut connaître le temps max d'exécution de cette opération. Si le temps indiqué dans la propriété interval n'est pas assez important le timer peut se redéclencher alors que l'appel de l'opération précédente n'est pas terminée.
Sur ce je ne suis pas sûr de ce que j'avance car je ne connais pas suffisament le fonctionnement des Winforms mais étant prévoyant je préfére douter.
Autre chose, l'information identity doit être récupérer avant d'exécuter le move sinon tu te recommencera sur l'ensemble des identités.
[edit]
La propriété est Interval pas Ticks.<br><br>Message édité par: Laurent Dardenne, à: 3/07/08 18:09
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 9 mois #2546
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:progress bar
Laurent Dardenne écrit:
[code:1]
$sb={
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[string[]]$lines= import-CSV \"c:\movemb.csv\" $linenumber=0
#
# Timer
$timer = new-object System.Windows.forms.timer
$timer.Interval = 150
#
# progressBar1
#
$progressBar1 = new-object System.Windows.Forms.ProgressBar
$progressBar1.Location = new-object System.Drawing.Point(58, 107)
$progressBar1.Name = 'progressBar1'
$progressBar1.Size = new-object System.Drawing.Size(164, 23)
$progressBar1.Value = 0
$progressbar1.style = 'continuous'
$progressbar1.step = 1
$progressBar1.maximum = $lines.count
#
# Label1
#
$label1 = new-object System.Windows.Forms.Label
$label1.Location = new-object System.Drawing.Point(70, 70)
$label1.Size = new-object System.Drawing.Size(139,13)
$label1.Text = 'Style continuous :'
#
$Form1 = new-object System.Windows.Forms.form
# Form1
#
$Form1.Controls.Add($label1)
$Form1.ClientSize = new-object System.Drawing.Size(284, 264)
$Form1.Controls.Add($progressBar1)
$Form1.Text = \"Barre de progression - 1\"
$timer.Add_Tick({
$progressBar1.PerformStep()
#traitement
write-host $lines[$linenumber++]
if ($linenumber -gt $progressBar1.Maximum)
{ $timer.Stop() }
})
$timer.Start()
$Form1.ShowDialog()
}
&$sb
[/code:1]
Curieux comme comportement pour les Winforms déclarant des événements (enfin je suppose que c'est ça qui pose pb)
Bon il ne manque rien c'est juste que l'exécution directement dans la console ne fonctionne pas on doit pas passer soit par un script soit insérer le code dans un script block :J'ai testée le script proposé dans le tuto par Arnaud mais sans résulat. Il manquer \"qq chose\"
[code:1]
$sb={
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[string[]]$lines= import-CSV \"c:\movemb.csv\" $linenumber=0
#
# Timer
$timer = new-object System.Windows.forms.timer
$timer.Interval = 150
#
# progressBar1
#
$progressBar1 = new-object System.Windows.Forms.ProgressBar
$progressBar1.Location = new-object System.Drawing.Point(58, 107)
$progressBar1.Name = 'progressBar1'
$progressBar1.Size = new-object System.Drawing.Size(164, 23)
$progressBar1.Value = 0
$progressbar1.style = 'continuous'
$progressbar1.step = 1
$progressBar1.maximum = $lines.count
#
# Label1
#
$label1 = new-object System.Windows.Forms.Label
$label1.Location = new-object System.Drawing.Point(70, 70)
$label1.Size = new-object System.Drawing.Size(139,13)
$label1.Text = 'Style continuous :'
#
$Form1 = new-object System.Windows.Forms.form
# Form1
#
$Form1.Controls.Add($label1)
$Form1.ClientSize = new-object System.Drawing.Size(284, 264)
$Form1.Controls.Add($progressBar1)
$Form1.Text = \"Barre de progression - 1\"
$timer.Add_Tick({
$progressBar1.PerformStep()
#traitement
write-host $lines[$linenumber++]
if ($linenumber -gt $progressBar1.Maximum)
{ $timer.Stop() }
})
$timer.Start()
$Form1.ShowDialog()
}
&$sb
[/code:1]
Curieux comme comportement pour les Winforms déclarant des événements (enfin je suppose que c'est ça qui pose pb)
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.072 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- progress bar