Husk å lese de forrige artiklene i serien:
- Lær hvordan du automatiserer Windows med PowerShell
- Lære å bruke Cmdlets i PowerShell
- Lære hvordan du bruker objekter i PowerShell
- Læreformatering, filtrering og sammenligning i PowerShell
- Lær å bruke Remoting i PowerShell
- Bruke PowerShell til å få datamaskininformasjon
- Arbeider med samlinger i PowerShell
- Lær hvordan du bruker jobb i PowerShell
- Lær hvordan du utvider PowerShell
- Lære PowerShell Variabler, Input og Output
Skrive ditt første skript
Det første vi må gjøre er å finne en måte å få tilgang til informasjonen vi leter etter. Siden vi har å gjøre med ledelsesinformasjon, må vi sannsynligvis ta en titt på bruk av WMI, som faktisk har en klasse som heter Win32_OperatingSystem, som lar deg se verbose opplysninger om operativsystemet ditt, inkludert siste gang det startet.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Merk: Jeg måtte dele koden min over to linjer slik at alt passer inn i skjermbildet, men vær så snill å skrive det på en enkelt linje. Hvis du velger å dele den over to linjer, må du passe på at rørkarakteren er siste tegn på linje 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
Hva vi gjør her, er å lage en egendefinert egenskap som heter "Last Booted" og angir at verdien sin må være et resultat av å ringe statisk Metod til ToDateTime på LastBootUpTime-egenskapen til det nåværende pipelineobjektet. Koden din skal nå se slik ut.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Deretter erstattes den hardkodede localhost-verdien med $ ComputerName-variabelen. Skriptet ditt skal nå se slik ut:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Når det gjelder å lage en bedre hjelpefil, er den vanligste metoden å bruke kommentarbasert hjelp. Det betyr at vi bare legger til en ekstra lang kommentar til toppen av utskrift.
<#.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 #>
Når alt er gjort, bør du ende opp med et skript som ser ut som dette.