Assurez-vous de lire les articles précédents de la série:
- Apprenez à automatiser Windows avec PowerShell
- Apprendre à utiliser les cmdlets dans PowerShell
- Apprendre à utiliser des objets dans PowerShell
- Apprentissage du formatage, du filtrage et de la comparaison dans PowerShell
- Apprendre à utiliser la communication à distance dans PowerShell
- Utilisation de PowerShell pour obtenir des informations sur l'ordinateur
- Utilisation de collections dans PowerShell
- Apprenez à utiliser des emplois dans PowerShell
- Apprenez à étendre PowerShell
- Apprentissage des variables PowerShell, entrée et sortie
Écrire votre premier script
La première chose à faire est de trouver un moyen d’accéder aux informations que nous recherchons. Comme nous traitons des informations de gestion, nous devons probablement examiner l'utilisation de WMI, qui a effectivement une classe appelée Win32_OperatingSystem qui vous permet d'afficher des informations détaillées sur votre système d'exploitation, y compris la dernière fois qu'il a démarré.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Remarque: je devais fractionner mon code sur deux lignes pour qu'il tienne dans la capture d'écran, mais n'hésitez pas à le taper sur une seule ligne. Si vous choisissez de le scinder en deux lignes, assurez-vous que le caractère de canal est le dernier caractère de la ligne 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
Nous créons ici une propriété personnalisée appelée "Last Booted" et spécifions que sa valeur doit être le résultat de l'appel de la méthode statique ToDateTime sur la propriété LastBootUpTime de l'objet de pipeline en cours. Votre code devrait maintenant ressembler à ceci.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Ensuite, remplacez la valeur localhost codée en dur par la variable $ ComputerName. Votre script devrait maintenant ressembler à ceci:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Pour créer un meilleur fichier d’aide, la méthode la plus courante consiste à utiliser l’aide basée sur les commentaires. Cela signifie que nous ajoutons simplement un commentaire très long en haut du script.
<#.SYNOPSIS Shows when last your PC started up..DESCRIPTION This is a WMI wrapper function to get the time that your PC last started up..PARAMETER ComputerName The name of the Computer you want to run the command against..EXAMPLE Get-LastBootTime -ComputerName localhost.LINK www.howtogeek.com #>
Une fois que tout cela est fait, vous devriez vous retrouver avec un script ressemblant à ceci.