Une autre fonctionnalité fantastique de PowerShell 2.0, laquelle convient également pour la gestion à distance, est la prise en charge des tâches d’arrière-plan. Dans PowerShell 1.0, si vous deviez exécuter une expression de longue durée, votre session PowerShell était bloquée jusqu’à la fin du processus.
Il n’existait pas
Tâches d’arrière-plan PowerShell
d’approche native pour placer un processus en arrière-plan comme c’est le cas dans les univers Unix et Linux. PowerShell peut lancer des tâches sur l’ordinateur local ou sur un ordinateur distant.
Quelques cmdlets, essentiellement Get-WMIObject et Invoke-Command, comportent un paramètre –AsJob :
PS C:\> get-wmiobject win32_ntlogevent -filter « logfile=’system' » -asjob
Au lieu d’attendre les résultats, PowerShell crée une tâche d’arrière-plan. La version 2.0 introduit plusieurs cmdlets de tâches. La cmdlet Get-Job affiche le statut d’une tâche donnée.
Voyons le statut de la tâche WMI que je viens d’exécuter :
PS C:\> get-job job13
Id Name State HasMoreData Location Command
— —- —– ———– ——– ——-
13 Job13 Completed True localhost Get-WMIObject
La cmdlet Receive-Job retourne les résultats de la tâche vers ma console. Je peux exploiter les données dans un pipeline PowerShell comme pour n’importe quelle autre expression. Vous noterez que j’utilise le paramètre –keep afin de conserver les résultats de ma tâche. Sinon, ils seront effacés du cache de tâche à la fin de Receive-Job :
PS C:\> receive-job job13 -keep | sort Type | group Type | sort Count
-Descending | format-table
Count,Name -auto
Count Name
—– —-
24127 Information
354 Error
106 Warning
3 Critical
Vous pouvez appliquer cette même technique dans une session à distance interactive. Les tâches d’arrière-plan sont particulièrement indiquées pour l’exécution de tâches sur de multiples ordinateurs. En reprenant la collection de sessions distantes créées précédemment, nous allons exécuter la même commande à distance, mais sous forme de tâche locale, d’où aucun temps d’attente de mon côté :
PS C:\> invoke-command $sessions -scriptblock {get-eventlog -list |
where {$_.Entries.count -gt 0}} –asjob
Si la tâche nécessite trop de temps, je peux toujours l’arrêter avec Stop-Job. Sinon, j’ai la possibilité d’accomplir d’autres tâches et de vérifier périodiquement le statut de la tâche. Une fois le traitement terminé, il ne me reste plus qu’à recevoir les résultats et à les exploiter comme bon me semble.
L’association de la gestion à distance et des tâches d’arrière- plan signifie que vous pouvez accomplir beaucoup de choses sans avoir à attendre les résultats. Il est possible de récupérer les résultats lorsque vous êtes prêt et de les employer dans le cadre de n’importe quelle expression PowerShell.
Encore une fois, je vous encourage à examiner l’aide complète sur les cmdlets de tâches, notamment les rubriques Invoke-Command et About Job.
Téléchargez cette ressource
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- L’IA transforme la modernisation IT en enjeu stratégique d’entreprise
- D’un centre de coûts à un centre de valeur : la transformation des centres de contact
- Utilities : la résilience des réseaux devient prioritaire face à la pression énergétique
Articles les + lus
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
À la une de la chaîne Tech
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
