Question Affichage de plusieurs elements

Plus d'informations
il y a 14 ans 1 mois #11443 par MARTINEZ
Bonjour,
Je souhaite faire un inventaire des poste.
Pour cela j'utilise du thread, dans mon ScriptBlock je creer un object de type PSobject, celui-ci me retourne bien les informations et je peux faire un affichage avec out-GridView.
Mon probléme est que comme c'est une liste de poste, je souhaite lancer tout sur un thread qui me raméne les informations et me les affiches.
La je n'y arrive pas.
Ci joint le programme:


$Computers = @(\".\")


$ScriptBlock = {
Param (
$strComputer
)
$Computer= New-Object PSObject
try{
Get-WmiObject -Class Win32_BIOS -Namespace 'root\cimv2' -ComputerName $strComputer -ErrorAction Stop
$colItems = Get-WmiObject -computername $strComputer -class Win32_ComputerSystem
$Computer | add-member Noteproperty Name $colItems.Name
$Computer | add-member Noteproperty Domain $colItems.Domain


}
catch [System.UnauthorizedAccessException]{
Write-Error \"Accès refusé pour $strComputer\"
$Computer | add-member Noteproperty Name \"$strComputer\"
$Computer | add-member Noteproperty Probleme \"Accès refusé\"
Return $Computer
}
catch{
Write-Error \"Une erreur s'est produite lors de l'accès à la classe Win32_BIOS sur $strComputer : $($_.Exception.Message)\"
$Computer | add-member Noteproperty Name \"$strComputer\"
$Computer | add-member Noteproperty Probleme \"Probleme Win32_BIOS sur $strComputer \"
Return $Computer
}
}



ForEach($Computer in $Computers){
Start-Job -ScriptBlock $ScriptBlock -ArgumentList $Computer
}


#Get all job results
Get-Job |Receive-Job | Out-GridView
Remove-Job *

Merci d'avance de votre aide

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

Plus d'informations
il y a 14 ans 1 mois #11454 par Richard Lazaro
Bonjour,

Pour effectuer ton ScriptBlock, tu utilises des Background Jobs. Donc des tâches asynchrones.

Tu ne peux sais donc pas quand elles vont être terminées.

Si c'est un seul script, tu dois attendre que tes jobs soit en status \"completed\" avant de faire le Receive-Job dessus.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 14 ans 1 mois #11464 par MARTINEZ
Réponse de MARTINEZ sur le sujet Re:Affichage de plusieurs elements
Bonsoir,
J'ai essayer de faire cela mais ca ne fonctionne pas

Get-Job |Receive-Job | wait-job|Out-GridView
J'ai pas du bien comprendre la réponse.
Pouvez-vous m'éclairé un peu plus?
Merci

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

Plus d'informations
il y a 14 ans 1 mois #11466 par MARTINEZ
Réponse de MARTINEZ sur le sujet Re:Affichage de plusieurs elements
En fait cela fonction en faisant :
Get-Job |wait-job|Receive-Job| out-GridView -Title \"Check Computer\"
Mais je les ai en double dans mon tableau alors que je ai bien le bon nombre de Job.
Pas de echo ou de write dans mon blockscript.
Je ne comprends pas pourquoi.

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

Plus d'informations
il y a 14 ans 1 mois #11475 par xyz
Réponse de xyz sur le sujet Re:Affichage de plusieurs elements
Salut,
patmarti écrit:

Pas de echo ou de write dans mon blockscript.

En dehors de :
[code:1]
Get-WmiObject -Class Win32_BIOS -ComputerName $strComputer -ErrorAction Stop
[/code:1]
Pense à supprimer les job une fois ceux-ci terminés:
[code:1]
Get-Job |
Remove-Job -State completed
[/code:1]

Tutoriels PowerShell

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

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