If-Koubou

Geek skola: Uzziniet, kā paplašināt PowerShell

Geek skola: Uzziniet, kā paplašināt PowerShell (Kā)

PowerShell piedāvā divus veidus, kā paplašināt čaulu. Varat izmantot snapiņus, kas ir tikai bināri un izstrādāti pilnvērtīgā programmēšanas valodā, piemēram, C #, vai arī varat izmantot moduļus, kas var būt gan bināri, gan arī skripti.

Noteikti izlasiet iepriekšējos sērijas rakstus:

  • Uzziniet, kā automatizēt Windows ar PowerShell
  • Mācīšanās lietot moduļus PowerShell
  • Mācīšanās kā lietot objektus PowerShell
  • Mācību formēšana, filtrēšana un salīdzināšana PowerShell
  • Uzziniet, kā izmantot utilizācijas PowerShell
  • Izmantojot PowerShell, lai iegūtu informāciju par datoru
  • Darbs ar kolekcijām PowerShell

Un visu nedēļu pieskarieties atlikušajām sērijām.

Snapins

Snapins ir tik pagājušajā gadā. Visi joki malā, snapins nekad nav uztvertas starp PowerShell kopienu, jo lielākā daļa sīkrīku nav izstrādātāji, un jūs varat rakstīt snapins tikai tādā valodā kā C #. Tomēr joprojām ir daži produkti, kas izmanto snapins, piemēram, Web Deploy, piemēram. Lai redzētu, kādi snapi ir pieejami jums, izmantojot čaulu, jūs izmantojat šādu komandu:

Get-PSSnapin-reģistrēts

Lai izmantotu komandas, kas pievienotas ar snapin, vispirms ir jāimportē sesijā, un jūs to varat izdarīt šādi:

Add-PSSnapin-nosaukums WDeploySnapin3.0

Šajā brīdī jūs saņemsit kļūdu, ja jums nav instalēta Web Deploy snapin. Ja jums tas ir instalēts, tāpat kā es, tas tiks importēts jūsu sesijā. Lai iegūtu snapin pieejamo komandu sarakstu, varat vienkārši izmantot komandu Get-Command:

Get-Command - modulis WDeploy *

Piezīme. Tehniski tas nav modulis, taču kāda iemesla dēļ jums joprojām ir jāizmanto moduļa parametrs.

Moduļi

Moduļi ir jaunāki un tie ir ceļš uz priekšu. Tie var būt gan scenāriji, izmantojot PowerShell, gan kodēti tādā valodā kā C #. Lielākā daļa iebūvēto komandu ir iekļauti arī moduļos. Lai redzētu sava sistēmas moduļu sarakstu, varat izmantot šādu komandu:

Get-modulis-saraksts ir pieejams

Kad produkti ir atjaunināti, to PowerShell kolēģi tiek migrēti uz moduļiem. Piemēram, SQL izmanto, lai būtu snapin, bet tagad tas sastāv no moduļiem.

Lai izmantotu moduli, vispirms ir jāimportē.

Importēšanas modulis-nosaukums SQLASCMDLETS

Varat izmantot to pašu triku, kuru mēs izmantojām ar snapiņiem, lai apskatītu visas komandas, kuras modulis ir pievienojis čaulai.

Tādējādi tiek atstāts jautājums: kā PowerShell uzzina, kādas jūsu sistēmas un pogas ir moduļiem? Nu, snapiņām ir mazliet sāpes, un tie ir jāuzstāda. Daļa instalēšanas procesa ietver dažu reģistra ierakstu izveidi, ko PowerShell apskata, lai atrastu snapiņa informāciju. No otras puses, moduļus var reģistrēt ar korpusu, vienkārši ievietojot tos vienā no atrašanās vietām PSModulePath vides mainīgā. Varat arī pievienot moduļa ceļu uz vides mainīgo.

($ env: PSModulePath) .Split (";")

Tas izstumj mainīgā saturu. Ievērojiet, ka, ja jums ir modulis, piemēram, SQL instalēts, kā tas mainīja mainīgo, lai iekļautu SQL moduļa atrašanās vietu.

Moduļa automātiska ielāde

PowerShell 3 ieviesa lielisku jaunu funkciju, kas iet ar dažiem nosaukumiem. Neviens no tiem nav oficiāls, bet tā labākais apraksts ir "Moduļa automātiskā ielāde". Būtībā tā ļauj izmantot komandrindas, kas pieder pie ārējā moduļa, nepārprotami importējot moduli, izmantojot importēšanas moduļa cmdlet. Lai to aplūkotu, vispirms noņemiet visus moduļus no korpusa, izmantojot šādu komandu:

Get-modulis | Noņemt moduli

Pēc tam varat pārbaudīt, vai nav ielādēti moduļi, izmantojot šādu:

Get-modulis

Tagad izmantojiet cmdlet, kas nav pamata bibliotēkā. Testa savienojums ir labs:

Test-Connection vietējais sakaru centrs

Ja jūs vēlreiz pārbaudīsit ielādes moduļus, jūs redzēsit, ka tas patiešām ielādēja moduli.

Tas ir viss šodien, puiši, pievienojies mums rīt, lai iegūtu vairāk.