Bonjour à tous,

Si quelqu'un pouvait me débloquer sur le sujet ça serait super.

J'ai une fonction qui me permet de récupérer des infos d'un fichier excel et de me stocker le tout dans une variable, jusque là pas de souci.
Par contre vu le nombre de fichiers excel à ouvrir, je me suis dit qu'il serait peut être bon de paralléliser le tout.

Donc je me penche sur la commande Start-Job.

Le problème vient du fait que ma commande Start-Job n'a pas l'air de vouloir exécuter mon code, le statut du job reste en Running, alors que c'est plutôt du rapide.

Petit exemple qui ouvre un fichier excel et l'enregistre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$ObjExcel = New-Object -ComObject Excel.Application -Property @{"visible"=$false};
$ClasExcel = $ObjExcel.Workbooks.Add();
$ClasExcel.SaveAs("D:\Temp\test.xls");
$ObjExcel.Quit()
Je me suis donc dit tout naturellement que passé directement dans un Start-Job cela devait fonctionner direct.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Start-Job -ScriptBlock {$ObjExcel = New-Object -ComObject Excel.Application -Property @{"visible"=$false};$ClasExcel = $ObjExcel.Workbooks.Add();$ClasExcel.SaveAs("D:\Temp\test.xls");$ObjExcel.Quit()}
Et bien non, du coup avec mes autres fonctions qui interrogent l'AD par exemple j'étais obligé de déclarer les "ressources" nécessaires pour faire appel à certains cmdlets, est-ce qu'ici c'est la même chose ? et si oui qui dois-je appeler

J'espère vraiment que quelqu'un a déjà eu le problème et donc la solution
Bien sûr je continue mes investigations et si je trouve, je partage.

Bien à vous,
Max