Powershell cmdleti, kas uzlabos jūsu Windows administratora prasmes

Powershell cmdleti, kas uzlabos jūsu Windows administratora prasmes

Powershell ir ideāls veids, kā jaunam kodētājam sākt darbu sistēmā Windows. Powershell ir komandrindas rīks un skriptu valoda vienādās daļās. Tas dod jums iespēju automatizēt datoru izmantojot tās pašas komandas, kuras izmantojat tās administrēšanai . Ja jums ir moderna Windows sistēma, jums jau ir Powershell. Lielākā daļa tā izmantošanas ir orientēta uz Windows, taču jūs varat instalēt Powershell arī Mac vai Linux mašīnā.





Darbs ar Powershell

Ir divi veidi, kā izmantot Powershell. Ir pamata komandrindas logs, ko izmanto, lai palaistu komandas vai izsauktu iepriekš rakstītus skriptus. Tad ir ISE, kas apvieno CLI logu ar pamata izstrādes vidi. Izmantojot to, jūs varat rakstīt un pārbaudīt savus skriptus.





ISE ir meklējams komandu saraksts, un jūs varat izmantot tā termināļa logu, neatverot failu. Komandu saraksts ļauj jums izveidot savu komandu un ievietot to. Ja veicat progresīvāku izstrādi, instalējiet Microsoft Visual Studio kodu. Kods ietver atbalstu Git versiju kontrolei un citām valodām.





Powershell ir unikāls ar to, ka tas ir pilnībā veidots no komandām, Microsoft tās sauc par Cmdlets. Šīs komandas ir vienādas, ja strādājat, izmantojot komandrindu vai rakstot sarežģītus skriptus. Tātad, lietojot šīs komandas, varat padomāt, kā tās savietot kopā, lai izveidotu savus pirmos skriptus.

Pamati: Get-Command, Get-Help, Get-Member

Visas Powershell komandas izpaužas kā darbības vārds. Darbības vārdi parasti ir: Iegūt, iestatīt un Jauns .



Get-Command ļauj redzēt visas pieejamās komandas. Palaižot Get-Command, jūs redzat, ka ir daudz komandu, kas sākas ar šīm.

Iepazīstoties tikai ar cmdlet nosaukumiem, jūs sākat redzēt, ka tiem visiem ir līdzīga struktūra. Jūs piesaucat viņus vārdā, tāpat kā ar Get-Command. Izmantojot parametrus, tiek mainīta iegūtā informācija. Tomēr, ja jūs kādreiz esat izmantojis komandu tikai ar noklusējuma opcijām, kā uzzināt, kā izmantot uzlabotos parametrus?





Izmantojot Iegūt palīdzību cmdlet ar Get-Command parāda vairāk informācijas par cmdlet. Mēs izmantojam cmdlet ar šādu sintaksi:

Get-Help Get-Command

Pēc tam jūs redzat pamatinformāciju par parametriem. Ja vēlaties redzēt parametru informāciju un dažus lietošanas piemērus, pievienojiet parametru -Full.





Ja vēlaties redzēt tikai piemērus, varat palaist:

Get-Help Get-Command -Examples

Šī cmdlet atgriež tikai piemērus no palīdzības faila. Šie piemēri ir diezgan noderīgi, jo tie ietver aprakstus. Šajā palīdzības tekstā ir paskaidrots, ko cmdlet un parametri dara, kad tie tiek palaisti.

Ja vēlaties atvērt palīdzības failu atsevišķā logā, varat izmantot -ShowWindow . Tātad, ja jūs skrienat:

Get-Help Get-Command -ShowWindow

Powershell izlec pa logu ar pilnu palīdzības failu. Šeit nav jāizmanto parametrs Pilns, jo logs velk visu rakstu.

Kad jūs uzlabojat Powershell, jūs atklāsit, ka Get-Member lietojat biežāk. Tas ir vienkāršs veids, kā noskaidrot, kādi lauki ir pieejami no atgrieztajiem datiem, kā arī citas metodes, kuras varat palaist. Bieži vien cmdlet būs a -Īpašums parametrs, kas ļauj tiem piezvanīt.

Darbs ar failiem: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Tagad, kad jums ir ideja par cmdlet darbību un palīdzības saņemšanu, veiksim izmaiņas. Jūs varat iegūt jebkuras mapes saturu, izmantojot Get-ChildItem komandu. Piemēram, jūs varat iegūt visa diska failus, izmantojot diska burtu. Ievadiet:

Get-ChildItem E:

Kas ir īss:

Get-ChildItem -Path E:

Palaižot šo komandu, tiek parādīts failu saraksts ar tā pēdējo rakstīšanas laiku, lielumu zem rekvizīta Garums, Vārds un režīms. Režīms ir faila vai mapes atribūti. Iespējamie ieraksti ir šādi:

  • Tikai lasīt
  • Slēpts
  • Sistēma
  • Katalogs
  • Arhīvs
  • Ierīce
  • Normāli
  • Pagaidu
  • SparseFile
  • Pārveidojiet punktu
  • Saspiests
  • Bezsaistē
  • NotContentIndexed
  • Šifrēts

Ja vēlaties iegūt visu apakšdirektoriju saturu ceļā, izmantojiet -Atkārtoti parametrs. Tad skrien:

Get-ChildItem -Path E: -Recurse

Pēc tam jūsu faili tiek parādīti kā atsevišķi saraksti katrai mapei ceļā.

Lai ierobežotu atgrieztos datus, varat izmantot dažus dažādus parametrus: -Fails , -Slēpts , un -Tikai lasīt . Ja vēlaties filtrēt faila nosaukumus, parametrā Path varat izmantot aizstājējzīmes. Lai atgrieztu visus direktorijā esošos .doc failus, ievadiet:

Get-ChildItem -Path E:*.doc

Atkal pievienojiet -atkārtot ja jūs visu gribējāt arī no apakšmapēm.

Ja vēlaties izdzēst failu, izmantojiet:

Remove-Item -Path E:OldFile.txt

Lai izlaistu katra faila apstiprināšanu, pievienojiet parametru -Apstipriniet $ false (Powershell ir divas konstantes Būla vērtībām: $ true un $ false). Lai piespiestu noņemt tikai lasāmus vai slēptus failus, izmantojiet -Piespiedu kārtā parametrs.

Failu pārvietošana ir tikpat vienkārša. Lai pārvietotu visu no zibatmiņas diska uz vietējo disku mapē, izmantojiet:

Move-Item -Path E:* -Destination C:FlashDriveArchive

Varat arī nosaukt vienu failu programmā -Path, lai pārvietotu tikai šo failu. Lai kopētu, nevis pārvietotu failu, izmantojiet to pašu sintaksi ar Kopēt vienumu cmdlet.

Procesu un pakalpojumu uzraudzība un darbs ar tiem

Katrs Windows lietotājs zina uzdevumu pārvaldnieku . Tomēr ir ātrāks veids, kā skatīt pašreizējos Powershell procesus, Iegūšanas process . Ja vēlaties uzzināt, ko nozīmē visi šīs tabulas ieraksti, ievadiet komandu Get-biedrs . Ievadiet cmdlet:

Get-Process | Get-Member

Get-member izvada ar Get-Process saistīto metožu un rekvizītu sarakstu. Augšpusē esošā informācija jūs interesē. Jūs redzat, ka dažādiem atmiņas veidiem ir aizstājvārdi.

No šīs izejas mēs varam arī redzēt, ka varam iegūt Produkts īpašumu, lai iegūtu draudzīgāku nosaukumu procesiem. Maināsim izvadi, lai mums būtu labāka informācija, ar ko strādāt:

kā pārvietot instalētās programmas uz citu disku
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Nākamajā sadaļā ir vairāk informācijas par objekta atlasīšanu un kārtošanu.)

Tagad, kad jums ir ID no komandas Get-Process, varat to apturēt, izmantojot cmdlet Stop-Process. Tātad, ja atklājat, ka Chrome process košļā visus jūsu resursus, atrodiet ID iepriekšējā komandā. Pēc tam palaidiet:

Stop-Process -ID 45960

Aizvietot 49560 ar jūsu resursu cūkas ID.

Izmantojot faila ceļu, varat sākt procesu, izmantojot Powershell. Lai palaistu pārlūku Chrome, izpildiet šādu komandu:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(Jums ir jābūt pēdiņām ap faila ceļu, jo ir atstarpes.) -Argumentu saraksts parametrs ļauj lietotnei pārsūtīt komandrindas opcijas. Pārlūka Chrome gadījumā varat piespiest to sākt inkognito režīmā, izmantojot -inkognito karogs. Visa cmdlet ir šāda:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

Lielāko daļu šo darbību varat veikt ar pakalpojumiem. Get-Service parāda visu jūsu datorā veikto pakalpojumu sarakstu. Tāpat kā ar palaišanas un apturēšanas pakalpojumiem, jūs varat izmantot Start-Service un Stop-Service .

Darbs ar datiem: kārtot objektu, atlasīt objektu, kur objektu

Strādājot ar cmdlet datiem, tas ne vienmēr var būt vēlamajā secībā. Šādos gadījumos vēlaties izmantot Kārtot objektu . Jūs varat izsaukt Sort-Object uz jūsu izveidotā mainīgā, bet galvenokārt to izmanto, pievienojot citu cmdlet. Tāpat kā iepriekšējā piemērā, mēs cauruļvadām viena objekta izvadi citam un sakārtojam. Izveidosim trīs nejaušu skaitļu masīvu un pievienosim to Sort-Object.

Viss, kas ir iekavās, darbojas vispirms. Izveidojiet vienkāršu masīvu ar:

$(Get-Random), $(Get-Random), $(Get-Random)

Noteikti ievērojiet komatus, kas atdala vērtības. Tātad, lai redzētu nejaušos skaitļus, kas sakārtoti:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

Cmdlet izvada skaitļus no mazākā uz lielāko, ja vēlaties to mainīt, pievienojiet -Dilstoši .

Pārsūtot cmdlet uz Get-Member, ir vairāk rekvizītu nekā noklusējuma izvade. Jūs izvēlaties īpašus rekvizītus, izmantojot Atlasiet objektu .

Tāpat kā Sort-Object, jūs izmantojat Select-Object, izmantojot cauruļveida cmdlet. Piemēram, lai izveidotu pakalpojumu tabulu un to statusa izmantošanu:

Get-Service | Select-Object DisplayName, Status

Lai gan visu šo datu izdošana ir jauka, ko darīt, ja vēlaties redzēt tikai konkrētus datus? Get-ChildItem ir iebūvēta filtrēšana, bet lielākajai daļai komandu nav. Šādos gadījumos jūs izmantojat Kur-Objekts .

Atgriežoties pie pakalpojumiem, šoreiz jūs saņemsiet tikai darbības pakalpojumus. Ievadiet cmdlet:

Get-Service | Where-Object Status -eq 'Running'

Tas -ekv salīdzinājumā ir paredzēts Powershell = . Programmā Powershell jūs veicat salīdzinājumus ar burtu kombinācijām:

  • ekv: vienāds
  • ne: nav vienāds
  • lt: mazāk nekā
  • gt: lielāks par
  • ge: lielāks vai vienāds ar
  • le: mazāks vai vienāds ar
  • piemēram: izmantot kā aizstājējzīmju salīdzinājumos

Formatēšanas palīdzība: Format-Table un Format-List.

Šīm dažādajām cmdletēm lielākā daļa izvades bija tabulu formāti. Tas parāda datus rindās un kolonnās ar galvenēm. Lai atsevišķi parādītu ierakstus ar to īpašībām, pievienojiet cmdlet Formātu saraksts .

Dažreiz jums ir pārāk plaša izeja Powershell logam. Kad tas notiek, Powershell to piespiež saraksta izvadē. Lai pārliecinātos, ka saglabājat to tabulas formātā, ievadiet savu izvadi Formāts-tabula .

No komandrindas līdz skriptēšanai: nākamās darbības

Kad esat ērti, skriptu veidošana ir cmdlet ievadīšana teksta failā un saglabāšana. Ja jūs uztraucaties, mēģinot skriptēt, nekautrējieties. Microsoft katrai cmdlet ir milzīgs daudzums dokumentācijas. Tas pārsniedz iepriekš aprakstīto jau garo palīdzības dokumentāciju, tāpēc noteikti pārbaudiet Technet [vairs nav pieejams].

Ja jūs mācāties Powershell, paziņojiet mums komentāros, ko jūs visvairāk interesē darīt. Ja jums ir nedaudz lielāka pieredze, mēs labprāt uzzināsim par sarežģītākām tēmām, kuras jūs vēlētos redzēt.

Kopīgot Kopīgot Čivināt E -pasts Dzēsiet šos Windows failus un mapes, lai atbrīvotu vietu diskā

Vai jums ir nepieciešams atbrīvot vietu diskā Windows datorā? Šeit ir Windows faili un mapes, ko var droši izdzēst, lai atbrīvotu vietu diskā.

Lasīt Tālāk
Saistītās tēmas
  • Windows
  • Programmēšana
  • PowerShell
  • Skriptu veidošana
Par autoru Maikls Makkonels(44 raksti publicēti)

Maikls neizmantoja Mac, kad viņi bija nolemti, bet viņš var kodēt Applescript. Viņam ir grāds datorzinātnēs un angļu valodā; viņš jau kādu laiku raksta par Mac, iOS un videospēlēm; un viņš ir bijis IT mērkaķis dienā vairāk nekā desmit gadus, specializējies skriptu veidošanā un virtualizācijā.

Vairāk no Maikla Makonela

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu