Nezabudnite si prečítať predchádzajúce články v sérii:
- Naučte sa ako automatizovať systém Windows pomocou nástroja PowerShell
- Naučiť sa používať Cmdlets v PowerShell
- Učenie ako používať objekty v PowerShell
- Formátovanie učenia, filtrovanie a porovnávanie v systéme PowerShell
- Naučte sa používať Remoting v PowerShell
- Použitie nástroja PowerShell na získanie informácií o počítači
- Práca s kolekciami v systéme PowerShell
- Naučte sa používať úlohy v systéme PowerShell
- Naučte sa ako rozšíriť PowerShell
- Učíme premenné PowerShell, vstup a výstup
Písanie vášho prvého scenára
Prvá vec, ktorú musíme urobiť, je nájsť spôsob prístupu k informáciám, ktoré hľadáme. Keďže sa zaoberáme správou informácií, pravdepodobne sa musíme pozrieť na používanie služby WMI, ktorá má naozaj triedu nazvanú Win32_OperatingSystem, ktorá vám umožňuje prezerať podrobné informácie o vašom operačnom systéme vrátane posledného spustenia.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Poznámka: Musel som rozdeliť môj kód na dva riadky tak, aby to všetko zapadalo do screenshotu, ale neváhajte ho napísať na jedinom riadku. Ak sa rozhodnete rozdeliť na dva riadky, uistite sa, že znak potrubia je posledný znak na riadku 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
Čo tu robíme, je vytvorenie vlastného vlastníctva s názvom "Last Booted" a upresnenie, že jeho hodnota musí byť výsledkom volania statickej metódy ToDateTime na vlastnosti LastBootUpTime aktuálneho objektu potrubia. Váš kód by mal teraz vyzerať takto.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Potom nahraďte hodnotu hardcoded localhost s premennou $ ComputerName. Skript by mal teraz vyzerať takto:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Pokiaľ ide o vytvorenie lepšieho súboru s nápovedou, najbežnejšou metódou je použitie nápovede založenej na komentároch. To znamená, že pridáme navyše extra dlhý komentár na vrchol skriptov.
<#.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 #>
Akonáhle je všetko urobené, mali by ste skončiť so skriptom, ktorý vyzerá takto.