Question
Affichage de plusieurs elements
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 14 ans 1 mois #11443
par MARTINEZ
Affichage de plusieurs elements a été créé 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
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.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 14 ans 1 mois #11454
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Affichage de plusieurs elements
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.
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.
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
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
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.
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
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.
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.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 14 ans 1 mois #11475
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Affichage de plusieurs elements
Salut,
patmarti écrit:
[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]
patmarti écrit:
En dehors de :Pas de echo ou de write dans mon blockscript.
[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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Affichage de plusieurs elements