Šajā Geek skolu izdevumā mēs palīdzēsim jums saprast spēcīgo PowerShell skriptu valodu, kas tiek būvēta tieši Windows, un ir ļoti noderīga, lai to uzzinātu IT vidē.
Lai gan šī sērija nav strukturēta ap eksāmenu, mācīšanās PowerShell ir viena no vissvarīgākajām lietām, ko varat darīt kā tīkla administratoru, tādēļ, ja ir kāda lieta, ko vēlaties iemācīties, lai palīdzētu IT karjerai, tas tā ir. Plus, tas ir daudz jautrības.
PowerShell ir visspēcīgākais automatizācijas rīks, ko Microsoft var piedāvāt, un tā gan apvalks, gan skriptu valoda.
Lūdzu, ņemiet vērā, ka šīs sērijas pamatā ir PowerShell 3, kas tiek piegādāts kopā ar Windows 8 un Server 2012. Ja izmantojat operētājsistēmu Windows 7, pirms turpināt, lūdzu, lejupielādējiet PowerShell 3 atjauninājumu.
Ir divi veidi, kā mijiedarboties ar PowerShell no kastes, konsoles un integrētās skriptošanas vides - pazīstams arī kā ISE. ISE ir ievērojami uzlabojies no slēptās versijas, kas tika piegādātas kopā ar PowerShell 2, un to var atvērt, nospiežot Win + R tastatūras kombināciju, lai atvērtu palaišanas lodziņu, pēc tam ievadot powershell_ise un nospiežot enter.
Kā jūs varat redzēt ISE sporta sadalīts skats, lai jūs varētu ātri skriptu, bet joprojām var redzēt rezultātu ISE apakšējā pusē. ISE apakšējā puse, kurā tiek drukāti jūsu skripta rezultāti, var tikt izmantota kā REPL uzvedne - līdzīgi kā komandu uzvedne. V3 ISE beidzot pievienoja atbalstu intellisense gan skripta rūts, gan interaktīvā konsolē.
Alternatīvi, jūs varat mijiedarboties ar PowerShell, izmantojot PowerShell konsole, kuru es izmantošu lielākajai daļai šīs sērijas. PowerShell konsole rīkojas tāpat kā komandu uzvedne - jūs vienkārši ievadāt komandas, un tas izstaro rezultātus. Lai atvērtu Windows PowerShell konsole, atkal nospiediet Win + R tastatūras kombināciju, lai atvērtu palaišanas lodziņu, un ierakstiet powerhell, pēc tam nospiediet enter.
REPL parāda, ka tas ir lieliski tūlītējai izpratnei: jūs ievadāt komandu un saņemat rezultātus. Kaut arī konsolē nav intellisense, tas piedāvā kaut ko sauc par cilnes pabeigšanu, kas darbojas līdzīgi - vienkārši sāciet rakstīt komandu un nospiediet cilni, lai apskatītu iespējamās spēles.
Iepriekšējās versijās PowerShell palīdzības faili tika iekļauti, kad instalējāt sistēmu Windows. Tas lieliski bija labs risinājums, bet mums bija būtiska problēma. Kad PowerShell palīdzības komandai nācās pārtraukt strādāt ar palīdzības failiem, PowerShell izstrādātāji joprojām bija aizņemti kodēti un veicot izmaiņas. Tas nozīmēja, ka, nosūtot PowerShell, palīdzības faili bija nepareizi, jo tajos nebija iekļautas jaunākās koda izmaiņas. Lai atrisinātu šo problēmu, PowerShell 3 nesatur palīgfailus no lodziņa un ietver atjaunināmu palīdzības sistēmu. Tas nozīmē, ka pirms jūs darāt visu, ko vēlaties lejupielādēt jaunākos palīdzības failus. To var izdarīt, atverot PowerShell konsole un palaižot:
Update-Palīdzība
Apsveicam ar savu pirmo PowerShell komandu! Patiesība ir tāda, ka komandu Update-Help ir daudz vairāk iespēju nekā vienkārši to izpildot, un, lai tos apskatītu, mēs vēlēsimies apskatīt komandas palīdzību. Lai apskatītu palīdzību komandai, jūs vienkārši ievadāt komandas nosaukumu, kurai vēlaties palīdzēt komandas Get-help parametram Name (Vārds), piemēram:
Get-Help -Name Update-Palīdzība
Jūs, iespējams, vēlaties uzzināt, kā visu šo tekstu interpretēt, es domāju, kāpēc sintakses sadaļā ir divas informācijas, un kāpēc tur ir tik daudz iekavu visā vietā? Vispirms vispirms: iemesls, kādēļ sintakses sadaļā ir divi informācijas bloki, ir tādēļ, ka tie norāda dažādus komandu palaišanas veidus. Tie ir tehniski saukti par parametru komplekti, un jūs to varat izmantot tikai vienlaicīgi (jūs nevarat sajaukt parametrus no dažādām kopām). Iepriekš redzamajā ekrānuzņēmumā redzams, ka augšējā parametru kopai ir parametrs SourcePath, bet apakšējā - nav. Iemesls tam ir tāds, ka jūs izmantotu augšējo parametru kopu (tādu, kas ietver SourcePath), ja tiktu atjaunināti palīdzības faili no citas ierīces jūsu tīklā, kas tos jau ir lejupielādējuši, bet jums nav nepieciešams norādīt avota ceļu, ja jūs tikai gribēja greifers jaunākos failus no Microsoft.
Lai atbildētu uz otro jautājumu, ir noteikts sintakse, kas palīdz failiem sekot, un šeit tas ir:
Lai gan jums vajadzētu iemācīties lasīt palīdzības faila sintakse, ja jūs nekad neesat pārliecināts par kādu konkrētu parametru, vienkārši pievienojiet -Pilnīgi līdz komandu saņemšanas palīdzības beigām un ritiniet uz leju līdz parametru sadaļai, kur tas katram būs nedaudz vairāk par to parametrs.
Get-Palīdzība -Name Update-Help -Full
Pēdējā lieta, kas jums jāzina par palīdzības sistēmu, ir tā, kā jūs varat to izmantot, lai atklātu komandas, kas patiešām ir ļoti vienkārša. Redzi, PowerShell aizstāj aizstājējzīmes gandrīz jebkurā vietā, tādēļ, izmantojot tos kopā ar komandu Get-Help, jūs varat viegli atpazīt komandas. Piemēram, es meklēju komandas, kas nodarbojas ar Windows pakalpojumiem:
Get-Palīdzība -Name * pakalpojums *
Protams, visa šī informācija, iespējams, nebūs lietderīga par nūju, bet ticiet man, veltiet laiku un uzziniet, kā izmantot palīdzības sistēmu. Tas ir ērts visu laiku, pat progresīviem rakstniekiem, kuri to jau gadiem ir darījuši.
Tas nebūtu pareizi ieviesti, nenorādot drošību.Lielākā PowerShell komandas bažas ir tas, ka PowerShell kļūst par jaunāko un lielāko skriptu kiddies uzbrukuma vietu. Viņi ir ieviesuši dažus drošības pasākumus, lai pārliecinātos, ka tas nenotiek, tāpēc apskatiet tos.
Visvienkāršākā aizsardzības forma izriet no tā, ka PS1 faila paplašinājums (paplašinājums, ko izmanto, lai apzīmētu PowerShell skriptu) nav reģistrēts PowerShell uzņēmējā, kas faktiski ir reģistrēts Notepad. Tas nozīmē, ka, ja jūs dubultklikšķi uz faila, tas tiks atvērts ar notepad, nevis darbojas.
Otrkārt, jūs nevarat palaist skriptus no čaulas, tikai ierakstot skripta nosaukumu, jums ir jānorāda viss skripta ceļš. Tātad, ja jūs vēlaties palaist skriptu jūsu C diskā, jums vajadzētu rakstīt:
C: \ runme.ps1
Vai arī, ja jums jau ir C diska sakne, varat izmantot sekojošo:
. \ runtime.ps1
Visbeidzot, PowerShell ir kaut kas saukts par Izpildes politiku, kas apturēs jūs no jebkura vecā skripta izpildes. Faktiski pēc noklusējuma jūs nevarat palaist nekādus skriptus, un jums ir jāmaina izpildes politika, ja vēlaties, lai jūs varētu tos palaist. Ir 4 ievērojamas izpildes politikas:
Lai redzētu, kāda ir jūsu pašreizējā izpildes politika, atveriet PowerShell konsoli un ierakstiet:
Get-ExecutionPolicy
Attiecībā uz šo kursu un lielāko daļu citu apstākļu, RemoteSigned politika ir vislabākā, tāpēc dodieties uz priekšu un mainiet savu politiku, izmantojot tālāk norādīto.
Piezīme. Tas jādara, izmantojot PowerShell konsole.
Set-ExecutionPolicy RemoteSigned
Tas viss ir šai laikam ļaudīm, rītdien redzēsim kādu PowerShell jautrību.
Atruna: pienācīgs termiņš PowerShell komandai ir cmdlet, un no šī brīža mēs izmantosim šo pareizo terminoloģiju. Tas tikai jutās piemērotāk, lai izsauktu viņiem šīs ievades komandas.
Ja jums ir kādi jautājumi, varat mani piebildēt @ tybgibb vai vienkārši atstāt komentāru.