Assicurati di leggere gli articoli precedenti della serie:
- Scopri come automatizzare Windows con PowerShell
- Imparare a utilizzare i cmdlet in PowerShell
- Apprendimento Come utilizzare gli oggetti in PowerShell
- Apprendimento della formattazione, del filtro e del confronto in PowerShell
- Impara a utilizzare i servizi remoti in PowerShell
- Utilizzo di PowerShell per ottenere informazioni sul computer
- Lavorare con le raccolte in PowerShell
- Scopri come utilizzare i lavori in PowerShell
- Scopri come estendere PowerShell
- Apprendimento delle variabili, input e output di PowerShell
Scrivi il tuo primo script
La prima cosa che dobbiamo fare è trovare un modo per accedere alle informazioni che stiamo cercando. Poiché abbiamo a che fare con le informazioni di gestione, probabilmente dovremmo dare un'occhiata all'utilizzo di WMI, che in effetti possiede una classe chiamata Win32_OperatingSystem che consente di visualizzare informazioni dettagliate sul sistema operativo, inclusa l'ultima volta che è stato avviato.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Nota: ho dovuto dividere il mio codice su due righe in modo che tutto si adattasse allo screenshot, ma sentitevi liberi di scriverlo su una singola riga. Se scegli di dividerlo su due righe, assicurati che il carattere pipe sia l'ultimo carattere della riga 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
Quello che stiamo facendo qui è la creazione di una proprietà personalizzata chiamata "Last Booted" e che specifica che il suo valore deve essere il risultato della chiamata del metodo statico ToDateTime sulla proprietà LastBootUpTime dell'oggetto pipeline corrente. Il tuo codice dovrebbe ora apparire come questo.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Quindi sostituire il valore localhost hardcoded con la variabile $ ComputerName. Il tuo script dovrebbe ora assomigliare a questo:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Per quanto riguarda la creazione di un file di guida migliore, il metodo più comune consiste nell'utilizzare la guida basata sui commenti. Ciò significa che aggiungiamo un commento extra lungo alla parte superiore di uno 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 #>
Una volta fatto tutto, dovresti finire con uno script simile a questo.