15Sep
Prije nekoliko tjedana Geek vam je pokazao kako možete koristiti naredbeni redak da biste pronašli kada je računalo pokrenuto posljednje. U ovoj posljednjoj instalaciji Geek škole za PowerShell, započeli smo napisati naredbu za ponovnu uporabu PowerShell da učine isto.
svakako pročitajte prethodne članke u seriji:
- naučiti kako automatizirati Windows s PowerShell
- učenje za korištenje cmdlets u PowerShell
- učenje kako koristiti objekte u PowerShell
- učenje oblikovanje, filtriranje i uspoređivanje u PowerShell
- naučiti koristiti Remoting uPowerShell
- Korištenje PowerShell Get Podaci o računalu
- Rad s naplati u PowerShell
- Saznajte kako koristiti radnih mjesta u PowerShell
- Saznajte kako produžiti PowerShell
- učenje PowerShell varijable, ulazni i izlazni
Pisanje svoj prvi Skripta
prva stvar koju trebate učiniti jepronađite način pristupa informacijama koje tražimo. Budući da se bavimo informacijama o upravljanju, vjerojatno bismo trebali pogledati upotrebu WMI-a, koji doista ima klasu nazvanu Win32_OperatingSystem koja vam omogućuje pregledavanje opširnih informacija o vašem operativnom sustavu, uključujući posljednji put kada je pokrenut.
Sad kad znamo gdje možemo pronaći informacije koje tražimo, otvorite ISE i upišite sljedeće.
Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Odaberi-objekt -Property CSName, LastBootUpTime
Napomena: Morao sam podijeliti moj broj preko dvije linije, tako da se sve to stane u sliki, ali slobodno ga upišite na jednoj liniji. Ako se odlučite podijeliti preko dva retka, provjerite je li znak cijevi zadnji znak na retku 1.
Sada kliknite zelenu tipku "Run Script" ili pritisnite tipku F5 na tipkovnici da biste testirali kôd.
WMI vrijeme može biti malo tajnovito. Ovime mislimo ako pogledate entitet LastBootUpTime, kaže 2013-03-19 u 18:26:21, ali iz nekog razloga WMI dečki odlučili su sve to povezati u jedan niz. Srećom za nas, ne moramo se brinuti o ručnom analiziranju niza jer postoji lakši način za to, iako napredniji. Morat ćete promijeniti dio koda odabranog objekta da izgleda ovako:
Select-Object -Property CSName, @{ n = "Zadnji pokrenut";
e ={ [Management. ManagementDateTimeConverter]: : ToDateTime( $ _. LastBootUpTime)}}
Ono što mi ovdje radimo je stvaranje prilagođenog imovinu pod nazivom „Posljednja Booted” i navodeći da je njegova vrijednost mora biti rezultat zvati ToDateTime statičkina LastBootUpTime svojstvo trenutnog objekta cjevovoda. Vaš kod sada bi trebao izgledati ovako.
Pokretanje koda sada će dati puno više čitanja zadnjeg čizma vrijeme.
Sada kada smo zadovoljni osnovnim funkcijama našeg skripta, moramo ga spremiti. Radi jednostavnosti, neka ga spremiti kao sljedeći:
C: \ Get LastBootTime.ps1
sada prebaciti na donjoj polovici ISE i pokrenuti sljedeće:
C: \ get-LastBootTime.ps1
izvrsno! Naša skripta funkcionira prema očekivanjima, no još uvijek postoji jedan problem s našim scenarijem. Hardcodirali smo ime računala koje želimo dobiti zadnje vrijeme čizma. Umjesto hardcoding vrijednosti, trebamo dati parametar tako da tko god koristi skriptu, može odabrati na kojem računalu on pokreće skriptu. Da biste to učinili, idite na vrh skripte i učinite sljedeće.
param(
[niz] $ ComputerName
)
Zatim zamijenite hardcoded localhost vrijednost pomoću $ ComputerName varijable. Vaša skripta sada bi trebala izgledati ovako:
Spremite skriptu, a zatim se vratite na donju polovicu ISE i pregledajte pomoć za skriptu.
pomoć C: \ Get LastBootTime.ps1
strašan, tako da sada možemo navesti ime računala želimo dobiti posljednji čizma vrijeme za korištenje naše nove parametar ComputerName. Nažalost, još uvijek ima nekoliko pogrešnih stvari. Prvo, parametar ComputerName nije obavezan, a drugo, to je najružnija pomoć koju sam ikad vidio, pa ćemo brzo riješiti te probleme. Da bi parametar ComputerName bio obavezan, promijenite sadržaj param bloka na sljedeće.
[Parametar( Obvezno = $ true)] [string] $ ComputerName
Što se tiče izradu boljih datoteka pomoći, najčešća metoda je korištenje pomoći na komentarima. To znači da dodamo dodatni dugotrajni komentar na vrh out script.
& lt; #
. SYNOPSIS
Prikazuje kada je zadnji put pokrenut vaše računalo.
. DESCRIPTION
Ovo je funkcija wrapper WMI da biste dobili vrijeme kada je vaše računalo posljednji put pokrenuto.
. PARAMETER ComputerName
Naziv računala na kojem želite pokrenuti naredbu.
. EXAMPLE
Get-LastBootTime -ComputerName localhost
. LINK
www.howtogeek.com
# & gt;
Kada se sve to napravi, trebali biste završiti sa skriptom koja izgleda ovako.
Idemo i pogledaj našu novu datoteku pomoći.
Ahhh, super izgleda! Sada kada je skripta završena, imamo još jednu posljednju stvar: testiranje. Za to ću izaći iz ISE-a i vratiti se u PowerShell konzolu samo kako bismo bili sigurni da nema anomalija.
Ako počnete s jednostavnim linijama i samo nastavite graditi na njemu, kao što smo to učinili u ovom vodiču, u njemu ćete ga dobiti. To je sve za ovo vrijeme ljudi, vidimo se u sljedećoj instalaciji Geek škole.