Noteikti izlasiet iepriekšējos sērijas rakstus:
- Uzziniet, kā automatizēt Windows ar PowerShell
- Mācīšanās lietot moduļus PowerShell
- Mācīšanās kā lietot objektus PowerShell
Un visu nedēļu pieskarieties atlikušajām sērijām.
Noklusējuma formatēšana
Kad es vispirms sāku darboties ar PowerShell, es domāju, ka viss ir maģija, bet patiesībā ir tikai nedaudz laika, lai saprastu, kas notiek zem kapes. Tas pats attiecas uz PowerShell formatēšanas sistēmu. Patiesībā, ja palaižat cmdlet Get-Service, ģenerētais produkts parādīs tikai 3 īpašības: Statuss, Nosaukums un DisplayName.
notepad C:WindowsSystem32WindowsPowerShellv1.0DotNetTypes.format.ps1xml
Ja mēs izmantojam funkciju Notepad Find, mēs varam ātri pāriet uz sadaļu, kurā ir detalizēta Get-Service cmdlet izeja, meklējot Type ServiceController.
Jūsu datu formatēšana
Ja neesat apmierināts ar noklusēto objekta vai tipa formatējumu, varat mainīt savu formātu. Lai to izdarītu, ir trīs cmdlets, kas jums jāzina.
- Formātu saraksts
- Formāts-tabula
- Formatēt-Wide
Formatēt-Wide vienkārši ņem objektu kolekciju un parāda katra objekta vienu īpašumu. Pēc noklusējuma tā meklēs nosaukuma īpašumu; ja jūsu objektos nav nosaukuma īpašuma, tā izmantos objekta pirmo īpašumu, tiklīdz rekvizīti ir sakārtoti alfabētiskā secībā.
Get-Service | Format-Wide
Get-Service | Format-Wide -Property DisplayName -Column 6
Šis tabulas skats patiesībā atbilst ļoti precīzai šāda veida informācijai, bet mēs izlikties, ka vēlamies to skatīt saraksta formā. Viss, kas mums patiešām ir jādara, ir to caurlaide Formātu saraksts.
Get-Process | Format-List
Get-Process | Format-List –Property *
Get-Process | Format-List –Property name,id
Formāts-tabula no otras puses, ņem datus un pārvērš to tabulā. Tā kā mūsu dati no Get-Process jau ir tabulas veidā, mēs varam to izmantot, lai viegli izvēlētos tabulā redzamos īpašumus. Es izmantoju parametru AutoSize, lai visi dati būtu piemēroti vienam ekrānam.
Get-Process | Format-Table name,id –AutoSize
Filtrēšana un salīdzināšana
Viena no labākajām lietām par objektīva cauruļvada izmantošanu ir tā, ka jūs jebkurā posmā varat filtrēt objektus no cauruļvada, izmantojot Kurš-Objekta cmdlet.
Get-Service | Where-Object {$_.Status -eq “Running”}
- eq (līdzvērtīgs)
- neq (nav vienāds ar)
- gt (lielāks nekā)
- ge (lielāks par vai līdzvērtīgs)
- lv (mazāk nekā)
- le (mazāks vai vienāds ar)
- piemēram (aizstājējzīmju virknes spēle)
Pilnu sarakstu un plašāku informāciju var apskatīt salīdzināšanas konceptuālās palīdzības failā, tomēr tas aizņem laiku, lai kļūtu izmantots kur-Obejekta sintaksē. Tas viss šajā laikā!