Question Fonction Powershell

Plus d'informations
il y a 13 ans 1 mois #13916 par phiphi917
Réponse de phiphi917 sur le sujet Re:Fonction Powershell
merci.

Je test tout de suite.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14154 par julien
Réponse de julien sur le sujet Re:Fonction Powershell
je me permet de rajouter une question à la suite
(pas la peine de recréer un autre sujet)

je souhaiterais aussi pouvoir executer plusieurs fonctions en même temps mais avec des fonctions ecrite dans d'autre fichier.ps1

un exemple pour être plus clair....

[code:1]
#################################################
. .\IHM_blocage.ps1
. .\postconf.ps1
#################################################

$J=@(
Start-Job -ScriptBlock ${function:bloquer};
Start-Job -ScriptBlock ${function:«»postconf};
)
$J

[/code:1]
une idée ? merci beaucoup

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14156 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Fonction Powershell
Charger le Script dans le job, puis exécuter la fonction.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14160 par julien
Réponse de julien sur le sujet Re:Fonction Powershell
merci pour ta réponse.

en chargent le script dans le job j'ai une fonction qui ne s'exécute pas.
Est ce que je peux pousser la demande d'aide plus loin sachant que c'est encore en rapport avec un sujet que j'avais posté y a quelques mois :blush: ?

Autre question :( pour utiliser une fonction ecrite dans un autre fichier .ps1 on l'appel bien comme ceci :
. .\c:\temp\fichier.ps1 ??


merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14161 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Fonction Powershell
newblur écrit:

en chargent le script dans le job j'ai une fonction qui ne s'exécute pas.

Vérifie le chemin d'accès au script.
newblur écrit:

Est ce que je peux pousser la demande d'aide plus loin sachant que c'est encore en rapport avec un sujet que j'avais posté y a quelques mois :blush: ?

Tu fais comme tu le sens :)
newblur écrit:

pour utiliser une fonction ecrite dans un autre fichier .ps1 on l'appel bien comme ceci :
. .\c:\temp\fichier.ps1 ??

Pas tout à fait, essaie ceci :
[code:1]
@\"
function test {
write-host \"my fonction\"
}
\"@ > c:\temp\test.ps1

Start-Job -name Test -ScriptBlock {
.\"c:\temp\test.ps1\"
test
} |
Wait-Job|
Receive-Job
#Get-Job|Remove-Job
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 semaine #14254 par julien
Réponse de julien sur le sujet Re:Fonction Powershell
bonjour,

newblur écrit:
Est ce que je peux pousser la demande d'aide plus loin sachant que c'est encore en rapport avec un sujet que j'avais posté y a quelques mois ?

Laurent Dardenne écrit:
Tu fais comme tu le sens



ok j'appel à l'aide car j'y arrive pas.....

pour ce qui est d’exécuter des fonctions ça fonctionne parfaitement merciii

[code:1]

$start=@(

# bloquer le clavier & la souris
Start-Job -name Bloquer_clavier -ScriptBlock {

.\"C:\temp\Bloquer_clavier.ps1\"

Bloquer_clavier
Start-Sleep -Seconds 7

}

# exécution postconf avec une barre de progression
Start-Job -name IHM -ScriptBlock {

.\"C:\temp\postconf.ps1\"

IHM
}

)| Wait-Job| Receive-Job

$start

[/code:1]


la ou j'ai un soucis c'est sur ton code Laurent
( www.powershell-scripting.com/index.php?o...;id=2538&catid=5

je souhaiterais exécuter plusieurs script .cmd tout en affichant une barre de progression.

voici mon problème :

1) je n'arrive pas à cacher mes fenêtres dos
2) je ne vois pas comment exécuter mes scripts correctement. (un script va s’exécuter autant de fois qu'il y a de scripts dans mon dossier)

[code:1]
function Posconf{

$key=(1..30)
$pwd=get-content C:\temp\encrypted.txt | convertto-securestring -key (1..30)
$User=\"administrateur\"
$login=new-object -typename System.Management.Automation.PSCredential -argumentlist $User,$pwd

[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')

#
# Timer
$timer = new-object System.Windows.forms.timer
#Recherche tout les fichiers .cmd
$Scripts = Get-ChildItem C:\temp\Postconf -recurse -Include *.cmd -Exclude RunPostconf.cmd | Where-Object {$_.PSIsContainer -eq $false} | Select-Object -ExpandProperty FullName

#Compter nombre de fichier .cmd
$nombre_de_scripts = @(Get-ChildItem $Scripts).count

$timer.Interval = $nombre_de_scripts
#
# progressBar1
#
$progressBar1 = new-object System.Windows.Forms.ProgressBar
$progressBar1.Maximum = $nombre_de_scripts
$progressBar1.Location = new-object System.Drawing.Point(20, 50)
$progressBar1.Name = 'progressBar1'
$progressBar1.Size = new-object System.Drawing.Size(360, 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(20, 20)
$label1.Size = new-object System.Drawing.Size(360,13)
$label1.Text = 'Installation :'
#
$Form1 = new-object System.Windows.Forms.form
# Form1
#
$Form1.Controls.Add($label1)
$Form1.ClientSize = new-object System.Drawing.Size(402, 100)
$Form1.Controls.Add($progressBar1)
$Form1.MaximizeBox = $false
$Form1.MinimizeBox = $false
#$Form1.ControlBox = $false
$Form1.Text = \"Veuillez patienter Installation en cours\"

$cpt = 0

$timer.Add_Tick({
$progressBar1.PerformStep()
#traitement
foreach($ScriptPath in $Scripts){
#Execution des scripts .cmd
$process=Start-Process -FilePath $ScriptPath -Credential $login -PassThru
}
$job = start-job -ScriptBlock $process -ArgumentList $login
$cpt++
if ($cpt -gt $progressBar1.Maximum){
$timer.Stop()
$Form1.close()
}
})


$timer.Start()
$Form1.ShowDialog()

}

Posconf



[/code:1]<br><br>Message édité par: newblur, à: 11/03/13 11:12

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.058 secondes
Propulsé par Kunena