Olvassa el a sorozatban szereplő cikkeket:
- További információ a Windows PowerShell automatizálásáról
- A PowerShell-ben található cmdletek használatának elsajátítása
- A PowerShell objektumainak használata
- Tanulási formázás, szűrés és összehasonlítás a PowerShell-ben
- Tanulja meg a Remoting használatát a PowerShell programban
- A PowerShell használata a számítógépes információk beszerzéséhez
- A PowerShell gyűjteményeinek használata
És egész héten maradjon a sorozatban.
változók
A legtöbb programozási nyelv lehetővé teszi a változók használatát, amelyek egyszerűen olyan tartályok, amelyek értékeket tartalmaznak. A PowerShell-ben is vannak változók, és nagyon könnyen használhatóak. Itt van egy "FirstName" nevű változó létrehozása, és adja meg a "Taylor" értéket.
$FirstName = “Taylor”
Az első dolog, amit a legtöbb ember megkérdez, az, hogy miért teszünk dollárjelet a változók neve előtt, és ez valójában nagyon jó kérdés. Tényleg, a dollár jel csak egy kis tipp a shell számára, hogy hozzáférhetünk a változó tartalmához (gondoljunk arra, mi van a tartályban), és nem magának az edénynek. A PowerShell-ben a változók nevei nem tartalmazzák a dollárjelet, ami azt jelenti, hogy a fenti példában a változók neve valójában "FirstName".
A PowerShell programban megtekintheti a PSDrive változóban létrehozott összes változót.
gci variable:
Remove-Item Variable:FirstName
A változóknak nem kell egyetlen tárgyat sem tartalmazniuk; ugyanolyan egyszerűen tárolhat több objektumot egy változóban. Ha például egy változóban szeretné tárolni a futó folyamatok listáját, csak a Get-Process kimenetét rendelheti hozzá.
$Proc = Get-Process
A megértésnek ez a trükkje, hogy emlékezzünk arra, hogy az egyenlő jel jobb oldalát mindig először értékeljük. Ez azt jelenti, hogy egy teljes csővezeték a jobb oldalon lehet, ha akarod.
$CPUHogs = Get-Process | Sort CPU -Descending | select -First 3
A CPUHogs változó most tartalmaz három futási folyamatot a legtöbb CPU használatával.
$CPUHogs.Kill()
Ami mindhárom eljárást megöli a gyűjteményben. Ha egy objektumot szeretne elérni a változóban, akkor úgy kell kezelnie, mint egy tömböt.
$CPUHogs[0]
Ezzel a gyűjtemény első objektumát adhatja meg.
Ne nyúlj!
A PowerShell-ben található változók gyengén vannak beírva alapértelmezésben, ami bármilyen adatot tartalmazhat, ez úgy tűnik, hogy az új felhasználókat mindenkor elkapja a PowerShell-be!
$a = 10
$b = ‘20’
Tehát van két változó, az egyik tartalmaz egy karakterláncot, a másik egy egész számot. Mi történik akkor, ha hozzáadja őket? Valójában attól függ, hogy melyik sorrendbe adja hozzá.
$a + $b = 30
Míg
$b + $a = 2010
Az első példában az első operandus egy egész szám, $ a, így a PowerShell úgy gondolja, hogy matematikát próbál megtenni, és ezért megpróbálja átalakítani bármely más operandust egész számokká. A második példában azonban az első operandus egy string, így a PowerShell csak átalakítja a többi operandust a karakterláncokra és összekapcsolja azokat. A fejlettebb szkriptek megakadályozzák ezt a fajta fogalmat, ha a változót a kívánt típushoz választják.
[int]$Number = 5 [int]$Number = ‘5’
A fenti eredmények mindegyike egy számértékű változót eredményez, amely 5 értékű egész objektumot tartalmaz.
Bemenet és kimenet
Mivel a PowerShell a dolgok automatizálását szolgálja, el kell kerülnie a felhasználók figyelmének felkeltését, ahol csak lehetséges. Ezzel azt mondják, hogy vannak olyan idők, amikor nem tudod elkerülni, és ezekben az időben a Read-Host cmdlet. Használata nagyon egyszerű:
$FirstName = Read-Host –Prompt ‘Enter your first name’
Write-Output “How-To Geek Rocks!”