Būtinai perskaitykite ankstesnius serijos straipsnius:
- Sužinokite, kaip automatizuoti "Windows" su "PowerShell"
- Mokytis naudotis "PowerShell" kompiliacijomis
- Mokymasis naudoti objektus PowerShell
- Mokymosi formatavimas, filtravimas ir palyginimas PowerShell
- Sužinokite, kaip naudoti "Remoting" "PowerShell"
- "PowerShell" naudojimas kompiuterio informacijai gauti
- Darbas su "PowerShell" kolekcijomis
Ir visada sekite visą seriją likusiai savaitę.
Kintamieji
Dauguma programavimo kalbų leidžia naudoti kintamuosius, kurie yra tik talpyklos, kuriose laikomos vertes. Be "PowerShell", mes taip pat turime kintamuosius ir jie yra labai paprasti naudoti. Štai kaip sukurti kintamąjį, pavadintą "FirstName", ir suteikite jam reikšmę "Taylor".
$FirstName = “Taylor”
Pirmas dalykas, kurį dauguma žmonių, atrodo, klausia, kodėl mes dedame dolerio ženklą prieš kintamųjų pavadinimą, ir tai iš tikrųjų yra labai geras klausimas. Tikrai dolerio ženklas yra tik šiek tiek užuominą, kad mes norėtume pasiekti kintamojo turinį (pagalvokite, kas yra konteinerio viduje), o ne pats konteineris. "PowerShell" kintamųjų pavadinimuose nėra dolerio ženklo, o tai reiškia, kad pirmiau pateiktame pavyzdyje kintamųjų vardas iš tikrųjų yra "Vardas".
"PowerShell" galite pamatyti visus kintamuosius, kuriuos sukūrėte kintamajame "PSDrive".
gci variable:
Remove-Item Variable:FirstName
Kintamieji neturi būti vieno objekto; jūs galite taip pat lengvai išsaugoti keletą objektų. Pavyzdžiui, jei norite išsaugoti kintamojo veikiančių procesų sąrašą, galite tiesiog priskirti jį "Get-Process" išėjimui.
$Proc = Get-Process
Tai, kad suprasti, yra apgaulė, tai prisiminti, kad lygiaverčio ženklo dešinė pusė visada vertinama pirmiausia. Tai reiškia, kad jūs galite turėti visą dujotiekį dešinėje, jei norite.
$CPUHogs = Get-Process | Sort CPU -Descending | select -First 3
CPUHogs kintamasis dabar bus trys vykdomi procesai, naudojant daugumą procesoriaus.
$CPUHogs.Kill()
Kuris turėtų nužudyti visus tris procesus kolekcijoje. Jei norite pasiekti kintamojo vieną objektą, jį reikia vertinti kaip masyvą.
$CPUHogs[0]
Tai padarys pirmąjį kolekcijos objektą.
Negalima sugauti!
"PowerShell" kintamieji pagal nutylėjimą yra silpnai įvedami, tai reiškia, kad jie gali būti bet kokių duomenų, tai atrodo, kad visi "PowerShell" klientai vis tiek patenka į naujus klientus!
$a = 10
$b = ‘20’
Taigi mes turime du kintamuosius, vienas yra eilutės ir kitas sveikasis skaičius. Taigi, kas atsitiks, jei pridėsite juos? Tai iš tikrųjų priklauso nuo to, kokią tvarką jas pridedate.
$a + $b = 30
Nors
$b + $a = 2010
Pirmajame pavyzdyje pirmasis operandas yra sveikasis skaičius, $ a, taigi PowerShell mano, kad jūs bandote daryti matematiką, todėl bando bet kuriuos kitus operandus paversti sveikais skaičiais. Tačiau antrojo pavyzdžio pirmasis operandas yra eilutė, taigi PowerShell tiesiog konvertuoja likusius operandus į eilutes ir sujungia juos. Patobulinti scenarijai užkerta tokio tipo "Gothcha", kintant tokį kintamąjį, kokio jie tikisi.
[int]$Number = 5 [int]$Number = ‘5’
Abu veiksmai lemia skaičiaus kintamąjį, kuriame yra sveikasis objektas, kurio vertė yra 5.
Įvestis ir išvestis
Kadangi "PowerShell" yra skirtas dalykams automatizuoti, jūs ketinate išvengti, kad naudotojams būtų lengviau informuoti, kai tik įmanoma. Su tuo pasakius, bus laikas, kai to negalėsite išvengti, ir tuo metu mes turime "Read-Host" cmdlet. Naudojimas yra tikrai paprastas:
$FirstName = Read-Host –Prompt ‘Enter your first name’
Write-Output “How-To Geek Rocks!”