A PowerShell használata otthoni felhasználóknak – Útmutató kezdőknek

Ki ne szeretné, ha varázsló lehetne, és kimondana néhány szót, hogy varázslatos dolgok történjenek? Nos(Well) , nem tudjuk megmutatni, hogyan legyél varázsló, de azt meg tudjuk mutatni, hogyan csinálj egy kis számítógépes varázslatot.

Ha Windows 7 rendszerű (Windows 7)Windows számítógépe van , akkor PowerShell is van . Továbbá, ha Windows 7 rendszerű(Windows 7) számítógépe van , kérjük, frissítse azt a biztonság kedvéért.

De ez a cikk nem csak a Windows felhasználóknak szól. A PowerShell legújabb verziója ingyenes, telepíthető és használható Mac és Linux számítógépeken.

Ez azért fontos, mert a PowerShellről(PowerShell) tanultak szinte minden számítógépen használhatók. Ki tudja? Előfordulhat, hogy ezt a képességet a következő szintre emelheti, és bevállalhatja az információs technológiai(Information Technology) karriert .

Mi az a PowerShell?

A Microsoft(Microsoft) csúcstechnológiás válasza az , hogy ez egy „parancssori shell”, amelyet kifejezetten rendszergazdák számára terveztek. – Félelmetesen hangzik . (” Sounds)De nem az. Vigyázol a számítógépedre? Igen, akkor Ön a rendszergazda a házában.

Megmondja a számítógépének, hogy mit tegyen a kattintással és a billentyűleütésekkel? Igen, úgyhogy gondoljon a parancssori shell-re úgy, mint egy újabb ablakra, amelybe olyan dolgokat ír be, amelyek megadják a számítógépének, hogy mit tegyen. Meg tudod csinálni.

A PowerShell(PowerShell) olyan, mint egy programozási nyelv, de nem olyan rejtélyes, mint a legtöbb. Nagyon úgy olvas, mint a normál angol(English) , amire a Microsoft törekedett, hogy a nem programozók is felvehessék.

Ez egy módja annak, hogy néhány soros parancsot írjon, amelyet parancsfájlnak neveznek, hogy a Windows operációs rendszer olyasmit tegyen, amit szeretne. Ezután elmentheti ezeket a sorokat egy fájlba, és egy kattintással futtathatja, vagy időnként ütemezheti a futtatást.

Mit lehet csinálni a PowerShell-lel?

A PowerShell(PowerShell) csúcspontja a feladatok automatizálása, így nem kell ismételten hétköznapi dolgokra pazarolnia az idejét. Egy professzionális rendszeradminisztrátor(Systems Administrator) számára ez olyasmi lehet, hogy új felhasználókat hoz létre, jelszavakat generál nekik, és küldjön egy e-mailt az adatokkal az új felettesének.

A manuálisan, kattintással és gépeléssel végrehajtott folyamat 5 perctől akár egy óráig is tarthat. A megfelelő szkriptekkel a rendszeradminisztrátornak(Systems Administrator) esetleg nem is kell ezt elvégeznie.

De szeretné tudni, mit tehet otthon a PowerShell -lel. (PowerShell)Nagyjából bármit, amit nem szeret újra és újra csinálni. Használja, hogy helyet szabadítson fel merevlemezén azáltal, hogy törölje a szükségtelen ideiglenes és naplófájlokat.

Állítson be kijárási tilalmat gyermeke számítógépére. Egy csomó fájl átnevezése vagy rendezése. (Rename)Ez a PowerShell(PowerShell) szépsége . Szinte(Almost) bármit megtehet a számítógépén, létrehozhat egy PowerShell -szkriptet az automatizáláshoz, és egy kattintással vagy ütemezetten futtatható.

Hogyan használhatom a PowerShellt?

A PowerShell(PowerShell) - lel való munka legegyszerűbb módja a PowerShell Integrated Scripting Environment (ISE) . Megtalálhatja, ha a Start gombra kattint, és beírja a powershell ise szót a (powershell ise )Windows 10 keresősávjába . Az alábbiak szerint kell látnia.

Amikor először használjuk, rendszergazdaként(Administrator) fogjuk futtatni . Ehhez először rendszergazdai jogosultságokkal kell rendelkeznie a számítógépén. A Start menüben(Start Menu) kattintson a jobb gombbal a PowerShell ISE elemre, majd kattintson a Futtatás rendszergazdaként(Run as Administrator) elemre .

Előfordulhat, hogy megjelenik egy User Access Control ( UAC ) figyelmeztető felugró ablak, amely megkérdezi, hogy biztos-e benne, hogy ezt szeretné-e megtenni. Kattintson az Igen(Yes) gombra .

Most a PowerShell IDE(PowerShell IDE) -t nézi . Az ablak felső ablaktáblája (1) a parancsfájlablak. Itt fogja megírni a forgatókönyvét. Az ablak alsó ablaktáblája (2) a konzol területe. Amikor teszteli a szkriptet, a kimenet ebben a panelen fog megjelenni.

Ezen kívül hibaüzeneteket és hasonlókat is láthat, amelyek segítenek kijavítani és jobbá tenni a szkripteket. Az ablak jobb oldalán található ablaktábla (3) a parancsbővítmény. Tekintsd úgy, mint az összes elérhető PowerShell -parancs szótárát.

A PowerShell(PowerShell) úgy van beállítva, hogy ne futtasson más szkriptet, csak azokat, amelyek már a Windows részét képezik . Módosítania kell, hogy saját szkriptjeit futtathassa.

A parancsfájl-ablakban másolja ki és illessze be a következőket:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

A Set-ExecutionPolicy részét parancsmagnak nevezik (ejtsd parancslet). A parancsmagok erős dolgok. Tekintse(Think) őket rövid parancsoknak, amelyeket megadhat a Windowsnak(Windows) , és a Windows egy csomó bonyolultabb dolgot fog végrehajtani, hogy kielégítse a parancsot.

A hasonlat az lenne, ha azt mondaná a gyerekének, hogy takarítsa ki a szobáját. Röviden(Short) és lényegre törően. Ha gyermeke jártas a szobatisztításban, akkor megy, megveti az ágyát, beteszi a szennyesét a kosárba, polcra állítja a játékait és könyveit, és talán még a padlót is felporszívózza. Megértik, hogy a Clean-YourRoom(Clean-YourRoom) parancsmag mindezt jelentette.

Az ablak tetején egy zöld nyílhegy látható. Kattintson(Click) erre a parancs futtatásához.

Az -ExecutionPolicy rész megmondja, hogy a Set-ExecutionPolicy milyen házirendet állítson be. Ez egy paraméter. Ez azt mondja: „Azt akarom, hogy ezen irányelvek szerint dolgozzon, és kifejezetten ezt tegye. Azt mondja neki, hogy használja a RemoteSigned speciális szabályzatát .

A RemoteSigned házirend kimondja, hogy a PowerShell nem hajthat végre és nem futtathat semmilyen, az internetről(Internet) letöltött szkriptet, kivéve, ha azt megbízható kiadó írta alá.

Körültekintően közli a PowerShell - lel, hogy bármilyen helyileg létrehozott szkriptet megfelelő futtatni, mert ezeket nem kell egy távoli megbízható kiadónak aláírnia. Mostantól a PowerShell - szkript képes lesz bármilyen szkript futtatására, amelyet a számítógépén ír.

Nézzünk meg egy szkriptet az ideiglenes fájlok törléséhez. Nem olyan erős vagy alapos, mint a CCleaner , de a CCleanernek(CCleaner) megvannak a maga problémái.

Használja a PowerShellt(Use PowerShell) , hogy helyet(Create Space) teremtsen a merevlemezén(Your Hard Drive)

Sorról sorra bontjuk ezt a szkriptet, hogy lássa, hogyan működik. A végén a szkript teljes egészében megjelenik, így ha akarja, másolhatja és beillesztheti.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

Minden, ami előtt dollárjel van, változó név. Gondoljon rá úgy, mint egy pénztárcára, amelybe értékes holmikat helyezhet el. A pénztárca(Wallet) a dollárjelre emlékeztet, az értéktárgyak pedig változónak tűnnek, szóval erre is emlékezni fogunk. Létrehozunk egy tárcát vagy változót, melynek neve $TempFileLocation . Az egyenlőségjel megmondja a PowerShellnek(PowerShell) , hogy mit tegyen az adott változóba.

Ebben az esetben a Windows ideiglenes fájljainak helyét adjuk meg – C:\Users\username\AppData\Local\Temp\* . Ezt két okból tesszük; ez egy olyan hely, ahonnan mindig biztonságos a fájlok törlése, és ennek segítségével közöljük a PowerShell -lel , hová kell mennie a fájlok törléséhez.

Ahol a felhasználónév szerepel az adott helyen, cserélje le a felhasználónevére. Ez az a felhasználónév, amellyel bejelentkezik a számítógépére. A végén lévő csillag (*) helyettesítő karakter. A Temp mappában található minden, mert a Temp mappában minden ideiglenes, és törölni akarjuk.

A hely körüli dupla idézőjel is fontos. Ez azt mondja a PowerShellnek(PowerShell) , hogy ami benne van, az egy karakterlánc. Tekintse(Think) a karakterláncot betűk és karakterek sorozataként. Ha közönséges számokról lenne szó, nem használnánk az idézőjeleket.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Készítünk egy másik változót. Ezúttal egy parancsot fogunk használni, hogy kitaláljunk valamit a $TempFile változóba.

Get-ChildItem 

Egy másik dolog, amit észrevehet a Get-ChildItem-hez( Get-ChildItem) hasonló parancsmagokkal kapcsolatban, hogy teljesen olvasható. Látod, hogy az első szó ige? A parancsmagok(Cmdlets) mindegyike cselekvési szavakkal kezdődik, így azonnal tudja, mit csinál. A ChildItem(ChildItem) két főnév.

A parancsmag második része mindig megmondja, hogy a PowerShell mire fogja alkalmazni a műveletet. A ChildItem egy szülőhely összes gyermekét jelenti. Ez olyan, mintha azt mondanánk, hogy a mappában lévő összes fájlt kapja meg, ahol a fájlok a gyerekek, a mappa pedig a szülő.

Miből kapja a parancsmag a gyermekelemeket? Minden a $TempFileLocation . A PowerShell(PowerShell) arra a helyre fog menni, amelyet korábban a $ TempFileLocation fájlba tettünk(TempFileLocation) , és megkapja az ott található összes alárendelt elemet. Ezután a $TempFile változóba helyezi őket .

Szóval, mi a helyzet a -Recurse résszel? Ez arra utasítja a Get-ChildItem-et(Get-ChildItem) , hogy mindenen végigmenjen azon a helyen. Ne csak azonnal szerezze be a fájlokat a szülőmappába. Ha vannak mappák abban a mappában, szerezze be az összes gyermeküket is, és a gyerekeiket stb. Mindet megkapjuk.

$TempFileCount = ($TempFile).count

Igen, létrehozunk egy harmadik változót $TempFileCount néven , és ebbe a változóba számot fogunk tenni. Hol a szám? Nos, a ( $TempFile).count alapján megkapjuk ezt a számot. Valószínűleg rájöttél, hogy a .count rész meg fogja számolni az összes fájlt, amelyet éppen a $ TempFile -ban tároltunk .

Miért tettük ezt? Leginkább azért, mert jó tudni, hogy hány haszontalan fájlt tisztítunk meg a szkript többi részével, hogy meg tudjuk állapítani, mennyire volt hatékony.

if($TempFileCount -eq 0)

Most egy feltételes nyilatkozatot állítunk be. Láthatja, hogy „ha”-t kérdez. Ha az, amit? Ha a zárójelben szereplő dolog igaz vagy hamis. A zárójelek fontosak, különben az If nem tudja, mivel hasonlítson össze. $TempFileCount -ban tárolt szám nulla-e.

Az -eq az egyenlők rövidítése. Ez egyfajta összehasonlító operátor. Ez olyan, mintha azt mondaná a gyerekeknek: „Ha a szobája tiszta, nagyszerű, akkor csinálunk valamit” Ez a kijelentés azt mondja, ha a $ TempFileCount fájlban tárolt szám - egyenlő a nullával. a következő dolog.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

Ez az, ami akkor fog megtörténni, ha a $TempFileCount értéke nulla. A göndör zárójelek fontosak. Azt mondják a PowerShellnek(PowerShell) , hogy csak azt tegye, ami bennük van, ha a $ TempFileCount értéke nulla.

Ezt írja a gazdagépre vagy a képernyőre: „Nincsenek fájlok a C:\Users\username\Appdata\Local\Temp\*” mappában. A végén található paraméter, a ForegroundColor utasítja a PowerShell -t, hogy tegye zöldre a szöveget. Ez csak megkönnyíti a megkülönböztetést az általában piros színű hibaüzenettől.

Else

Tudod, mit jelent még. Ez a „Jobb legyen tiszta a szobája, vagy más” része annak ellenőrzésének, hogy a gyerek kitakarította-e a szobáját. Ez történik, ha a $TempFileCount nem nulla.

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

$TempFile tárolt aktuális helyre . Az utána lévő függőleges vonalat csőnek nevezik. Úgy működik, mint egy valós cső, mivel azt utasítja a PowerShell - re, hogy a $ TempFile tartalmát a parancsmagba tölcsérbe helyezze, mintha vizet vezetnének a mosógépbe. Ezután a Remove-Item parancsmag azt teszi, amit mond; eltávolítja azt, ami az adott helyen van.

A -WhatIf paraméter nagyon fontos ebben a szakaszban. Azt mondja a PowerShellnek(PowerShell) , hogy futtassa a parancsot, de csak próbálja ki, ne távolítson el semmit. Csak(Just) mutasd meg nekünk, mi történne, ha valóban ezt tennénk.

Ez lehetővé teszi a parancsok tesztelését anélkül, hogy bármit is megváltoztatna a számítógépén. Hagyja ott a -WhatIf-et, amíg meg nem érzi, hogy a szkript azt fogja csinálni, amit szeretne, és semmi mást. Ezután egyszerűen törölje ki, és a szkript elvégzi a dolgát.

-Confirm:$false paraméter megakadályozza, hogy a szkript rákérdezzen, hogy valóban törölni akarja-e a fájlt. Tudod mit csinál a -Recurse . - Az erőltetés( -Force) azt jelenti, hogy törli azt, bármi is legyen. -WarningAction a (-WarningAction )SilentlyContinue értékre van állítva .

Ez megakadályozza, hogy a szkript figyelmeztetést adjon arról, hogy mit szeretne törölni. -Az ErrorAction a (-ErrorAction)SilentlyContinue értékre van állítva, így ha bármilyen hiba történik a folyamatban, az csak kavar.

Most az utolsó sornál tartunk.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Csakúgy, mint a Write-Host az első alkalommal, a következő mondatot fogja kiadni, így tudjuk, mi történt. Megmondja nekünk, hogy hány fájlt töröltek az éppen feldolgozott mappából, és zöld színnel jelzi, hogy könnyen észrevehető legyen.

Nézzük meg a forgatókönyvet teljesen:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

Ezt kimásolhatja és beillesztheti a PowerShell ISE -be , és elmentheti a delete-TemporaryFiles.ps1-hez(delete-TemporaryFiles.ps1) hasonló néven . Most, hogy megértette őket, ragaszkodhat a parancsmagok elnevezési konvenciójához is.

Ha a kód valamilyen okból nem működik, letöltheti az általunk létrehozott PowerShell-szkriptet is, és egyszerűen futtathatja. Csak(Just) először csomagolja ki a szkriptfájl megtekintéséhez.

Amikor le szeretné futtatni ezt a szkriptet, kattintson rá jobb gombbal, és válassza a Futtatás PowerShell segítségével lehetőséget(Run with PowerShell) . Egy PowerShell -konzol egy-két másodpercre felugrik, miközben a szkript teszi a dolgát, majd eltűnik, ha nincs hiba.

Hol tudhatok meg többet a PowerShellről?

Ez soknak tűnik! Az első PowerShell -szkripthez ez egy tisztességes darab. Ha idáig eljutottál, tapsolj magadnak. Ma sokat tanultál, de most többet szeretnél megtudni. Ez nagyszerű!

Az interneten(Internet) számos forrás található a PowerShellről(PowerShell) való további információért . Jó kiindulópont az „ Indítóprogramok listájának létrehozása parancssoron vagy PowerShell-en keresztül(Generate a List of Startup Programs via Command Line or PowerShell) ” című cikkünk . Ezután tekintse meg ezeket a többi forrást:



About the author

Webfejlesztő vagyok, tapasztalattal a Firefox és a Google Docs területén. A Floridai Egyetemen szereztem diplomát üzleti adminisztrációból. Szakképzettségeim a következők: weboldalkészítés, tartalomkezelő rendszer (CMS), adatelemzés és felhasználói felület tervezés. Tapasztalt tanácsadó vagyok, aki segíthet csapatának hatékony webhelyek és alkalmazások létrehozásában.



Related posts