Ki nem akarja, hogy varázsló lehessen, és mondjon néhány szót, hogy varázslatos dolgok történjenek? Nos, nem tudjuk megmutatni, hogyan lehet varázsló, de megmutathatjuk, hogyan kell csinálni egy kis számítógépes varázst.
Ha van egy Windows számítógép, amelyen Windows 7 van, akkor a PowerShell is rendelkezésre áll. Továbbá, ha számítógépe van Windows 7-rel, kérjük, frissítse azt a biztonság érdekében.
De ez a cikk nem csak a Windows felhasználók számára készült. A PowerShell legújabb verziója ingyenes, és telepíthető és használható Mac és Linux számítógépeken.
Ez azért fontos, mert a PowerShellről tanultak szinte bármilyen számítógépen felhasználhatók. Ki tudja? Lehet, hogy ezt a készséget a következő szintre állítja, és vállalkozást indíthat az információtechnológia karrierjében. … A parancssori héj, amelyet kifejezetten a rendszergazdák számára fejlesztettek ki. ”Megfélemlítőnek hangzik. De nem az. Vigyáz a számítógépére? Igen, akkor te vagy a házad rendszergazdája.
Mondja meg számítógépének, hogy mit tegyen a kattintásokkal és a billentyűleütésekkel? Igen, úgy gondolja, hogy a parancssori héj csak egy új ablak, amelybe beírja a dolgokat, hogy megmondja a számítógépének, mit kell tennie. Ezt megteheti.
In_content_1 all: [300x250] / dfp: [640x360]->A PowerShell olyan, mint egy programozási nyelv, de nem olyan rejtélyes, mint a legtöbb. Valójában nagyon sokat olvas, mint a normál angol nyelv, amelyre a Microsoft arra törekedett, hogy a nem programozók felvehessék.
Ez a módszer néhány parancssor írására, úgynevezett szkriptre, hogy a Windows operációs rendszer tegyen valamit, amit szeretne. Ezután mentheti ezeket a sorokat egy fájlba, és kattintással futtathatja, vagy ütemezheti azt, hogy időszakosan futhassanak.
Mit tehet a PowerShell?
A A PowerShell képes automatizálni a feladatokat, így nem kell többször pazarolnia a hétköznapi dolgokat. Professzionális rendszergazda számára ez lehet valami új felhasználó létrehozása, jelszavak előállítása számukra, és e-mail küldése a részletekkel az új felettesüknek.
Kézzel készítve, kattintásokkal és gépeléssel, ez a folyamat 5 perctől akár egy óráig is eltarthat. A megfelelő szkripteknél a rendszergazdának valószínűleg nem is kell ennek valamely részét tennie.
De tudni szeretné, mit tehet a PowerShell otthon. Nagyon sok minden, amit nem szeretsz csinálni újra és újra. Használja fel arra, hogy szabadítson fel helyet a merevlemezen azáltal, hogy törli az ideiglenes és a naplófájlokat, amelyekre nincs szüksége.
Helyezzen kijárási tilalmat a gyerek számítógépére. Nevezze át vagy rendezze egy csomó fájlt. Ez a PowerShell szépsége. Szinte bármit megtehetsz a számítógépén, létrehozhat egy PowerShell-szkriptet, amely automatizálja és futtathatja kattintással vagy ütemezés szerint.
Hogyan használható a PowerShell?
A PowerShell használatához a legegyszerűbb módszer a PowerShell integrált szkriptkörnyezetben (ISE). Megtalálhatja, ha a Start gombra kattint és gépelje be a powershell iseelemet a Windows 10 keresősávjába. Az alább látható módon kell látnia.
Első alkalommal, amikor használjuk, rendszergazdaként fogjuk futtatni. Ehhez először rendszergazdai jogokkal kell rendelkeznie a számítógépen. A Start menübenkattintson a jobb gombbal a PowerShell ISEelemre, majd kattintson a Futtatás rendszergazdakéntelemre.
Kaphat egy UserAccess Control(UAC) figyelmeztető felbukkanó ablak, amelyben megkérdezi, hogy biztosan meg akarja-e tenni. Kattintson a Igenlehetőségre.
Most a PowerShell IDE-t nézi. A (1)ablak felső ablaka a parancsfájl-ablaktábla. Itt írja be a forgatókönyvet. A (2)ablak alsó ablaka a konzol területe. A szkript tesztelésekor a panelen látni fogja a kimenetet.
Itt is hibaüzeneteket fog látni, és ezek segítenek a szkriptek javításában és javításában. A (3)ablak jobb oldalán található ablaktábla a kiegészítő parancs. Gondolj rá az összes elérhető PowerShell-parancs szótárára.
A PowerShell úgy van beállítva, hogy ne futtasson olyan szkriptet, amely a Windows részén már található. A saját parancsfájljainak futtatásához módosítania kell.
A parancsfájl ablakban másolja és illessze be a következőket:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
A Set-ExecutionPolicyrészét cmdlet-nek nevezzük (kiejtett parancsnok). A karakterkészletek hatalmas dolgok. Gondoljon rájuk, mint egy rövid parancsra, amelyet megadhat a Windows számára, a Windows pedig csomó bonyolultabb dolgot csinál, hogy kielégítse a parancsot.
Egy analógia azt mondja, hogy a gyerek tisztítsa meg a szobáját. Rövid és lényegre törő. Ha a gyerek jól ismeri a szoba tisztítását, akkor megy, és ágyat készít, beviszi a ruhaneműt a kosárba, elhelyezi a játékot és a könyvet, és talán még a padlót is felszívja. Megértik, hogy a Clean-YourRoom parancsmag mindezt jelent.
Az ablak tetején egy zöld nyílfej látható. Kattintson erre a parancs futtatásához.
A - Az ExecutionPolicyrész megmutatja a Set-ExecutionPolicyszámára, hogy milyen irányelvet kell beállítani. Ez egy paraméter. Azt mondja: „Azt akarom, hogy dolgozzon ezen iránymutatások szerint, és kifejezetten ezt tegye. Azt mondja, hogy használja a RemoteSigned speciális házirendjét.
A RemoteSignedirányelv kimondja, hogy a PowerShell nem hajthatja végre vagy futtathat olyan szkriptet, amelyet az internetről töltöttek le, kivéve, ha azt megbízható kiadó írta alá.
Körkörös módon azt mondja a PowerShellnek, hogy minden helyben létrehozott szkript futtatása rendben van, mivel ezeket nem kell megbízható távoli kiadó aláírására. Most a PowerShell-parancsfájl képes lesz futtatni a számítógépén írt szkripteket.
Nézzük meg egy ideiglenes fájlok törlésére szolgáló szkriptet. Nem olyan hatalmas vagy alapos, mint a CCleaner, de a CCleanernek megvan a maga saját problémakészlete.
A PowerShell használatával hozzon létre helyet a merevlemezen.
Ezt a szkriptet lebontjuk, soronként, így láthatja, hogy működik. A végén a szkript teljesen megjelenik, így másolhatja és beillesztheti, ha szeretné.
$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"
Bármelyik dollárjel előtte változó név . Gondoljon úgy, mint egy pénztárca, amellyel értékes dolgokat helyezhet be. A pénztárca emlékeztet bennünket a dollárjelre, az értéktárgyak változónak hangzik, így emlékezni fogunk erre is. Készítünk egy $ TempFileLocationnevű pénztárcát vagy változót. Az egyenlőségjel megmondja a PowerShell számára, hogy mit kell beletenni ebbe a változóba.
Ebben az esetben a Windows ideiglenes fájlok helyét helyezzük el - C: \ Felhasználók \ felhasználónév \ AppData \ Local \ Temp \ *. Két okból csináljuk ezt: ez egy olyan hely, amelyről mindig biztonságos a fájlok törlése, és azt fogjuk használni, hogy megmondjuk a PowerShellnek, hova kell mennie a fájlok törléséhez.
Ahol a felhasználónév szerepel a helyben, cserélje ki a felhasználójára név. Ez a felhasználónév, amelyet a számítógépre való bejelentkezéshez használ. A csillag (*) a végén helyettesítő karakter. A Temp mappában mindent reprezentál, mivel a Temp mappában minden ideiglenes, és törölni akarjuk.
Fontos a hely körüli dupla idézőjel is. Ez azt mondja a PowerShellről, hogy ami benne van, egy húr van. Gondolj a karakterláncra, mint betű és karakter karakterláncára. Ha rendes számok lennének, akkor nem használnánk az idézőjeleket.
$TempFile = Get-ChildItem $TempFileLocation -Recurse
Egy másik változót készítünk. Ezúttal egy parancs segítségével fogunk kitalálni valamit, amellyel beilleszthetjük a $ TempFileváltozót.
Get-ChildItem
Egy másik dolog Figyelem az olyan parancsmagokról, mint a Get-ChildItem, az teljesen olvasható. Nézze meg, hogy az első szó egy ige? A karakterkészletek mind cselekvési szavakkal kezdődnek, így azonnal tudja, mit csinál. A ChildItem két főnév.
A parancsmag második része mindig megmondja nekünk, hogy a PowerShell melyik műveletet fogja alkalmazni. A ChildItem a szülőhely összes gyermekét jelenti. Ez olyan, mintha minden mappában lévő fájlt beolvasnánk, a fájlok pedig a gyerekek, a mappák pedig a szülők lesznek. Minden a $ TempFileLocationváltozóban. A PowerShell arra a helyre megy, amelyet korábban behelyeztünk a $ TempFileLocation-ba, és megkapja az összes ott található gyermek cikket. Ezután beilleszti őket a $ TempFileváltozóba.
Mi a helyzet a -Fizetésrészeivel? Ez azt mondja, hogy a Get-ChildItemmindent átvág az adott helyen. Ne csak töltse le a fájlokat azonnal a szülő mappába. Ha vannak mappák abban a mappában, akkor vegye be mind a gyermekeiket, mind a gyermekeiket és így tovább. Mindet megkapjuk.
$TempFileCount = ($TempFile).count
Igen, létrehozunk egy harmadik, $ TempFileCountnevű változót, és egy számot fogunk beilleszteni ebbe a változóba. Hol van a szám? Nos, ($ TempFile) .countmeg fogja kapni ezt a számot. Valószínűleg kitalálta, hogy a .count része megszámolja az összes fájlt, amelyet éppen a $ TempFile-ben tároltunk.
Miért csináltuk ezt? Leginkább azért, mert jó tudni, hogy hány felesleges fájlt tisztítunk a szkript többi részével, hogy megmondhassuk, mennyire hatékony volt.
if($TempFileCount -eq 0)
Most beállítottuk fel egy feltételes állítást. Láthatja, hogy azt kérdezi: „ha”. Ha az, amit? Ha a zárójelben szereplő dolog igaz vagy hamis. A zárójelek fontosak, különben a If nem tudja, mit kell összehasonlítani. Itt azt kérdezi, hogy a $ TempFileCount-ban tárolt szám nulla-e.
A -eqaz egyenlők rövidítése. Ez egyfajta összehasonlító operátor. Olyan, mintha azt mondanánk a gyerekeknek: „Ha a szoba tiszta, nagyszerű, meg fogunk csinálni valamit ...” Ez az állítás azt mondja, hogy ha a $ TempFileCount tárolt szám nullával egyenlő, akkor a következőt kell tennie. >
{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}
Ez történik, ha a $ TempFileCountnulla. A göndör zárójelek fontosak. Azt mondják a PowerShellnek, hogy csak azt tegye meg, ami benne van, ha a $ TempFileCount nullával egyenlő.
Ezt írja a gazdagépnek vagy a képernyőnek: „A C mappában nincsenek fájlok: \ Felhasználók \ felhasználónév \ Appdata \ Helyi \ Temp \ *”. A végén lévő paraméter - ForegroundColor- utasítja a PowerShell-et, hogy a szöveg zöld legyen. Ez egyszerűbbé teszi a megkülönböztetést egy általában piros színű hibaüzenettől.
Else
Tudod, mit jelent még. Ez az „A szobád jobb, ha tiszta vagy más…” része annak ellenőrzéséhez, hogy a gyerek megtisztította-e a szobáját. Ez történik, ha a $ TempFileCountnem nulla.
{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}
Ez azt mondja, hogy menjen a $ TempFile-ben tárolt jelenlegi helyre. >. A függőleges vonalat, amelyet utána csőnek hívnak. Úgy működik, mint egy valódi cső, mivel azt mondja a PowerShell-nek, hogy a $ TempFile tartalmát töltse be a parancsmagba, mintha víz lett a mosógépbe vezetve. Ezután a Elem eltávolításaparancsmag megteszi, amit mond; eltávolítja minden, ami ezen a helyen van.
A -WhatIfparaméter nagyon fontos ebben a szakaszban. Azt mondja a PowerShell-nek, hogy futtassa a parancsot, de csak próbálja ki, ne távolítsa el semmit. Csak mutasd meg nekünk, hogy mi történne, ha tényleg ezt tennénk.
Ez lehetővé teszi a parancsok tesztelését a számítógép bármi megváltoztatása nélkül. Hagyja ott a -WhatIf-et, amíg nem biztos abban, hogy a szkript azt fogja tenni, amit szeretne, és semmi mást. Akkor csak törölje ezt, és a szkript elvégzi a munkáját.
A -Confirm: $ falseparaméter megakadályozza, hogy a szkript megkérdezi, valóban törli-e a fájlt. Tudod, mit csinál a -Fizetés. A -Forceazt jelenti, hogy törli azt a dolgot. A -WarningActionértéke SilentlyContinue.
Ez megakadályozza, hogy a szkript figyelmeztessen arra, hogy mit töröl. A -ErrorActionértéke SilentlyContinue, tehát ha valamilyen hiba létezik a folyamatban, akkor csak tovább kopogtat.
Most itt vagyunk: az utolsó sor.
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}
Csakúgy, mint a Write-Hostelőször, a következő mondatot fogja kiadni, tehát tudjuk, mi történt . Megmondja nekünk, hogy hány fájlt töröltünk az éppen feldolgozott mappából, és azt zöld színben végezzük, hogy könnyebben észlelhető legyen.
Nézzük át a szkriptet:
$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 átmásolhatja és beillesztheti a PowerShell ISE-ba, és így mentheti el például delete-TemporaryFiles.ps1néven. Ugyancsak ragaszkodhat a parancsmagok elnevezési konvenciójához, amikor megérti őket.
Ha a kód valamilyen oknál fogva nem működik az Ön számára, akkor töltse le a PowerShell szkriptet is létrehozhatjuk és csak futtasd. Először csak csomagolja ki a szkriptfájl megtekintéséhez.
Ha el akarja futtatni ezt a szkriptet, kattintson a jobb gombbal rá, és válassza a Futtatás a PowerShell-rellehetőséget. Egy PowerShell-konzol egy-két másodpercre felbukkan, miközben a szkript elvégzi a dolgát, majd eltűnik, ha nincs hiba.
Hol lehet többet megtudni a PowerShellről?
Ez soknak tűnik! Az első PowerShell-parancsfájlhoz ez elég jó. Ha eddig elérted, tapsolj magadnak. Ma sokat tanult, de most többet szeretne megtudni. Nagyszerű!
Nagyon sok forrás található az interneten a PowerShellről szóló további információk megismerése érdekében. Jó indulás a „Készítsen indítási programok listáját a parancssor vagy a PowerShell segítségével ” cikkünk. Ezután nézd meg ezeket az egyéb forrásokat: