Question Clarification Job

Plus d'informations
il y a 4 ans 5 mois #29445 par YvesA
Clarification Job a été créé par YvesA
Bonjour,

J'aimerai comprendre la différence qu'il y aurait entre ces deux scripts qui utilisent le job powershell. L'idée est de paralléliser le lancement et l'exécution d'un script PS sur des serveurs distants.
J'ai 2 choix:
- Start-Job pour tous le script incluant Invoke-Command qui lance la commande d'execution du script en local
- Stat-job comme paramètre de l'Invoke-Command

[code:1]
Get-job | Remove-job

foreach ($s in $a)
{

Start-job -ScriptBlock {

$sessions = New-PSSession -ComputerName $using:$s -ErrorVariable ErrorSession -Verbose

Invoke-Command -session $sessions -scriptblock {powershell c:\PS\Local.ps1 -verb runas} -Verbose

}
}

Get-job | Receive-job
[/code:1]

Plutôt que ceci:

[code:1]
Get-job | Remove-job

foreach ($s in $a)
{


$sessions = New-PSSession -ComputerName $s -ErrorVariable ErrorSession -Verbose

Invoke-Command -session $sessions -scriptblock {powershell c:\PS\Local.ps1 -verb runas} -Verbose -AsJob

}

Get-job | Receive-job

[/code:1]


Je comprends que dans le premier cas, pour chaque itération de la boucle ForEach() il y aura un job et que je peux contrôler le résultat dans le script. Cela semble correspondre à mon besoin.

Dans le cas de Invoke-Command {} -AsJob, je comprend que c'est le script local qui sera exécuté comme un job et que je pourrais avoir son résultat mais comme il s'agit d'une exécution locale d'un seul script, je ne vois pas l’intérêt dans mon cas? Pourtant avec l'Invoke-Command on suggère plutôt d'utiliser -Asjob.

Quelqu'un pourrai-il m'aider à y voir plus clair?

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

Plus d'informations
il y a 4 ans 5 mois #29446 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Clarification Job
Salut,
une réponse rapido.
Start-job c'est en local, -AsJob en distant.
Le type du job est différent, il se peut, pas lu le code source, que le job remote consomme moins de ressource côté appelant puisque le runtime est chargé sur le distant. Et si je me souviens, l'autre point est que l'on peux créer un job distant sur une machine A, puis quitter, et lire le résultat sur une machine B(à vérifier).

Tutoriels PowerShell

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

Plus d'informations
il y a 4 ans 5 mois #29450 par YvesA
Réponse de YvesA sur le sujet Re:Clarification Job
Merci Laurent. En fait j'(ai fais mes propres tests et dans mon cas le Asjob, combiné au PSSession est bien plus préférablee.

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

Plus d'informations
il y a 4 ans 5 mois #29451 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Clarification Job
Ta question est intéressante, je ne suis pas sûr d'y avoir répondu correctement.
Mais là faut lire/relire le livre de Bruce Payette qui détaille ces cas.

Si je trouve le temps je compléterais ma réponse.

Tutoriels PowerShell

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

Plus d'informations
il y a 4 ans 5 mois #29452 par YvesA
Réponse de YvesA sur le sujet Re:Clarification Job
Merci et je note pour le livre.

Si ce n'est pas trop demandé, je crois qu'il serait aussi intéressant d'étudier les RunSpace qui offrirait plus de robustesse et de performance que les Job mais qui nécessite de bien maîtriser le sujet pour l'implémenter correctement dans son code.
Un Runspace pour les Nuls peut être?
;)

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

Plus d'informations
il y a 4 ans 5 mois #29453 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Clarification Job
Il me semble préférable de passer d'abord par des jobs, ce qui permet de faire le tour assez facilement des pb potentiels avec l'infra. Et le code de PS v5.1 n'évoluant plus, si tu veux du support sur le long terme mieux vaut étudier l'usage de version 7.

Pour les Runspaces c'est du dev, Boe Prox a fournit de nombreuses infos techniques pertinentes sur le sujet.
Au cas où pour l'étude du sujet prévoir du temps, pas mal même :P

A mon avis, faut regarder à deux fois avant de se lancer dans l'implémentation de runspaces en production.
Mais à cœur vaillant rien d'impossible.

Tutoriels PowerShell

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

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