Tutories

PowerShell: què és i ordres bàsiques i 【recomanats】

Taula de continguts:

Anonim

Així com funciona i complint tasques similars a les que es poden obtenir amb el símbol de sistema, l'eina nativa Windows PowerShell és un recurs d'entrada per al sistema operatiu Windows. Una eina que sol ser usada per la seva flexibilitat tant per enginyers com per analistes de sistemes de manera quotidiana en els seus treballs.

Ja sigui que calgui administrar servidors o sistemes, PowerShell és una versió millorada i avançada de l'tradicional Símbol de el Sistema. Les tasques i funcions de Windows PowerShell són bàsicament les mateixes que trobem al CMD, (enviar ordres a Windows a través d'ordres específics), encara que a més disposa de diverses funcions extres i que poden ser molt útils per a l'usuari.

A l'contrari del que succeeix en el CMD, PowerShell ens presenta una robusta interfície d'scripts amb funcions específiques en on se'ls pot executar per dur a terme diversos processos sota el sistema Windows. Amb una línia d'ordres interactiva d'aquest tipus, es poden llançar ordres per a l'automatització de diferents tasques.

Aquesta eina ja era compatible amb Windows XP, però per poder usar-la calia descarregar-la i instal·lar-la. Ara, amb Windows 10 el PowerShell ja ve preinstal·lat i amb una visibilitat important perquè l'accés sigui fàcil.

Índex de continguts

Què és la PowerShell de Windows?

La interfície de PowerShell pot ser usada per a diferents fins, com pot ser l'execució d'aplicacions avançades o fins tasques més simples com saber l'hora actual. Així mateix, les ordres de PowerShell poden actuar de manera conjunta, combinant-se en la línia d'ordres per obtenir resultats més específics i avançats. Això s'ha anomenat "pipelining".

Mentrestant, PowerShell també ofereix una opció que pot ser molt útil per a alguns usuaris: la possibilitat d'afegir a la consola altres ordres creats pels mateixos usuaris.

Tot i que PowerShell va ser creat fa diversos anys i que amb Windows 10 té major visibilitat i més protagonisme, encara segueix sent una eina poc coneguda, no només per als usuaris bàsics, sinó també per a molts operadors informàtics que no coneixen tots els avantatges que poden oferir els cmdlets (script light) d'aquesta consola.

A causa de tots els avantatges que poden brindar aquestes comandes, i tenint en compte que Microsoft ve dedicant-li més espai a PowerShell perquè els usuaris de Windows s'acostumin, es fa necessari començar a conèixer més a fons les funcions de PowerShell, per a què serveixen i en què ens poden beneficiar a l'utilitzar-les.

Com obrir el Windows PowerShell

L'eina PowerShell és possible obrir-ràpidament accedint a la funció Executar que s'inclou en Windows.

  • Per a això, pressiona de manera simultània les tecles Windows + R.En el quadre Executar que s'acaba d'obrir, escriu "PowerShell" i fes click a D'acord o pressiona directament la tecla Enter.

Una altra opció que tens per accedir a PowerShell consisteix a usar el cercador que ofereix Cortana, situat a la part inferior esquerra de la pantalla, des d'on podràs buscar aquesta eina.

Ordres essencials de PowerShell (Tutorial)

En PowerShell, les ordres reben el nom de "cmdlet", i es pot utilitzar la tecla de tabulació perquè PowerShell autocomplete el nom de l'cmdlet que es vol utilitzar.

Windows PowerShell va ser creat tenint en compte la seva compatibilitat amb versions anteriors, de manera que és un recurs que funciona bé amb els mateixos comandaments que utilitza el CMD. Sabent això, es poden utilitzar els mateixos comandaments que s'usaven en el Símbol de Sistema, però en una interfície més avançada i amb molts més ordres.

Aquí hem reunit una quantitat important de cmdlets útils que es poden usar en PowerShell i detallem la sintaxi de cada un, així com la funció específica de cada un.

Per començar amb el bàsic, i donar una mirada ràpida als cmdlets que ens ofereix PowerShell, podem executar la comanda "Show-Command", mitjançant el qual es va a obrir una finestra mostrant-nos una llista extensa i completa de tots els ordres disponibles.

Get-Command

En cas que vulguis conèixer tots els cmdlets que ofereix PowerShell, el podràs fer escrivint aquesta comanda a la consola.

Windows PowerShell permet, a través d'aquesta comanda, conèixer totes les funcions i característiques que inclouen els seus cmdlets, presentats en forma de llista en la qual es descriuen les funcions de cada un, així com els seus paràmetres i opcions especials.

Per obtenir aquesta llista d'ordres, cal escriure "Get-Command" seguit d'un paràmetre específic, amb el qual s'obtindrà informació de l'cmdlet en qüestió. Per exemple, si escrivim en PowerShell "Get-Command * -help *", veurem un seguit de comandes que accepten el paràmetre "-help".

Si li afegeixes, com hem fet en l'exemple, un asterisc a cada costat de l'paràmetre, obtindràs totes les possibles combinacions que utilitza el cmdlet Get-Command quan va acompanyat de "-help".

Escrivint a la consola "Get-Command -Name "Obtenim un conjunt de comandes que inclouen aquest nom en específic. Pot passar que no recordis o no sàpigues quin és el nom correcte d'un cmdlet. Davant d'aquesta situació, pots incloure els dos asteriscs a cada costat de el nom com hem esmentat anteriorment, per exemple, "Get-Command -Name * setembre *", de manera que podries veure una llista dels cmdlets que inclouen el terme "set" a el seu nom.

Get-Host

Amb l'execució d'aquesta comanda s'obté la versió del Windows PowerShell que està usant el sistema.

Get-History

Amb aquesta comanda s'obté un historial de tots els ordres que es van executar sota una sessió de PowerShell i que actualment es troben en execució.

Get-Random

Executant aquesta comanda s'obté un nombre aleatori entre 0 i 2147483646.

Get-Service

En certes ocasions, serà necessari saber quins serveis es van instal·lar en el sistema, per al que es pot utilitzar la comanda Get-Service, que brindarà informació sobre els serveis que s'estan executant i els que ja van ser detinguts.

Per utilitzar aquest cmdlet, cal ingressar "Get-Service" a la consola, usant a el mateix temps alguna de les paràmetres addicionals, en una sintaxi similar a l'exemple següent:

Get-Service | Where-Object {$ _. Status -eq "Running"}

Amb això s'aconsegueix que s'iniciïn els serveis en el sistema. En el cas que s'executi aquesta comanda sense cap paràmetre, es proporcionarà una llista de tots els serveis amb els seus respectius estats ("Executant o" Detingut ", per exemple).

Si ja se sap amb exactitud sobre quin comandament es vol obtenir informació, utilitzar Get-Service és bastant més pràctic que dirigir-se a l'Tauler de control de Windows i treballar des de la GUI (interfície gràfica d'usuari) de Windows.

Get-Help

Especialment molt útil per a usuaris novells en l'ús de PowerShell, aquesta comanda presenta una ajuda bàsica per conèixer més sobre els cmdlets i les seves funcions.

En cas que estiguis usant PowerShell des de fa poc temps, és molt factible que et trobis desorientat i amb algunes dificultats; en aquestes circumstàncies, Get-Help es convertirà en el teu guia, ja que aquesta comanda aporta la documentació imprescindible sobre cmdlets, funcions, comandaments i scripts.

De la mateixa manera, el seu ús no és gens complicat: només cal escriure "Get-Help" acompanyat de l'cmdlet de què es volen conèixer més detalls. Per exemplificar el seu ús, podríem estar buscant més informació de l'cmdlet "Get-Process", en aquest cas seria suficient amb escriure "Get-Help Get-Process".

Per tenir una idea més clara sobre el funcionament de Get-Help al Windows PowerShell, amb només executar aquesta comanda veurem una descripció al costat d'una breu explicació sobre com utilitzar-lo.

Get-Date

Per saber d'una forma ràpida quin dia va ser en una determinada data de l'passat, usant aquesta comanda s'obtindrà el dia exacte. Per exemple, per saber quin dia va ser el 20 de maig de 2009, caldria escriure en PowerShell:

"Get-Date 20.05.2009", ingressant la data en format "dd.mm.aa". En cas d'executar Get-Date sol, ens brindarà la data i hora actuals.

PS C: \ Users \ MiguePR> Get-Date dissabte, juliol 27, 2019 00:00:40

Copy-Item

Amb aquesta comanda es poden copiar carpetes o arxius.

Si estàs buscant fer una còpia d'arxius i directoris en el teu unitat d'emmagatzematge, o si necessites copiar claus o entrades de l'registre, Copy-Item és el cmdlet indicat. Té un funcionament molt semblant a la comanda "cp" que s'inclou en el Símbol de Sistema, encara que és bastant millor.

Per això, s'ha d'usar la comanda Copy-Item per copiar i modificar el nom d'elements usant el mateix ordre, amb el qual es pot establir un nou nom per a aquest element. En el cas que vulguis copiar i reanomenar el fitxer "ProfesionalReview.htm" a "Proyectitosbuenos.txt", escriu:

Copy-Item "C: \ Proyectos.htm" -Destination "C: \ MyData \ Proyectos.txt".

Invoke-Command

En el moment en que vulguis executar un script o una ordre PowerShell (de manera local o remota, en un o diversos ordinadors), "Invoke-Command" serà el teu millor opció. És simple d'utilitzar i t'ajudarà a gestionar ordinadors per lots.

Cal mecanografiar Invoke-Command costat de l'script o comando amb la seva localització exacta.

Invoke-Expression

Amb Invoke-Expression s'executa una altra expressió o comandament. Si et trobes ingressant una cadena d'entrada o una expressió, en primer lloc aquesta comanda la va a analitzar ia continuació l'executarà. Sense aquesta comanda, la cadena no torna cap acció. Invoke-Expression només treballa a nivell local, a diferència de Invoke-Command.

Per utilitzar aquest comanda, s'ha d'escriure Invoke-Expression juntament amb una expressió o comandament. Per exemple, es podria fixar una variable "$ Command" amb una ordre que assenyali el cmdlet "Get-Process". Mitjançant l'execució de la comanda "Invoke-Expression $ Command", "Get-Process" va a actuar d'el mateixa manera que un cmdlet a l'equip local.

De la mateixa manera, es pot executar una funció en un script amb l'ús d'una variable, el que resulta molt útil si es treballa amb scripts dinàmics.

Invoke-WebRequest

A través d'aquest cmdlet, similar a cURL en Linux, es pot fer un inici de sessió, 1 scraping i la descàrrega d'informació relacionada a serveis i pàgines web, mentre es treballa des de la interfície de PowerShell fent el monitoratge d'algun lloc web de l' que es desitgi obtenir aquesta informació.

Per dur a terme aquestes tasques, cal utilitzar-lo com Invoke-WebRequest al costat dels seus paràmetres. Amb això, és possible aconseguir els enllaços que té un lloc web específic amb la següent sintaxi d'exemple:

(Invoke-WebRequest -uri 'https://wwww.ebay.com').Links

En aquest cas, s'obtindrien els enllaços de el lloc eBay.

Set-ExecutionPolicy

Si bé podem crear i iniciar scripts (.ps1) des PowerShell, anem a trobar-nos limitats a causa de qüestions de seguretat. No obstant això, això pot ser modificat a través de la categoria de seguretat emprant el cmdlet Set-ExecutionPolicy.

Només cal mecanografiar Set-ExecutionPolicy costat d'una de les quatre opcions de seguretat per fer els canvis que es requereixen:

  • RestrictedAll SignedRemote SignedUnrestricted

Per exemple, si volem establir el nivell de seguretat restringida, hauríem de fer servir:

Set-ExecutionPolicy -ExecutionPolicy Restricted

Get-Item

En cas que estiguis buscant informació sobre un element amb una ubicació concreta, com podria ser un directori en el disc dur, la comanda Get-Item resulta l'indicat per a aquesta tasca.

Cal aclarir que no s'obté el contingut mateix de l'element, tal com subdirectoris i arxius en una carpeta específica, llevat que ho demanis de manera explícita.

De l'altre costat a Get-Item ens trobem amb el cmdlet Remove-Item, que permet eliminar l'element especificat.

Remove-Item

En cas que desitgis esborrar elements com carpetes, arxius, funcions i variables i claus de l'registre, Remove-Item serà el millor cmdlet. L'important és que ofereix paràmetres per introduir i expulsar elements.

Amb el cmdlet Remove-Item pots remoure elements de localitzacions específiques amb l'ús de certs paràmetres. A tall d'exemple, és possible remoure l'arxiu "Finanzas.txt" emprant la comanda següent:

Remove-Item "C: \ MyData \ Finanzas.txt"

Get-Content

Quan necessitis tot el que inclou quant al contingut un arxiu de text en una ruta concreta, obre i llegeix-lo utilitzant un editor de textos com el Bloc de Notes. Mitjançant el Windows PowerShell es pot utilitzar l'ordre Get-Content per examinar el que conté un arxiu sense necessitat d'obrir-lo.

Per exemple, és possible obtenir 20 línies de text incloses en el fitxer "Proyectos.htm", per al que pots escriure:

Get-Content "C: \ Proyectos.htm" -TotalCount 20

Aquest cmdlet és similar a l'cmdlet Get-Item anterior, però amb el qual podem obtenir el que inclou l'arxiu que has indicat. Si executes aquesta comanda per a un arxiu d'extensió txt, et revelarà íntegrament el text que inclou aquest arxiu. Si l'utilitzes en un arxiu d'imatge png, vas a obtenir gran quantitat de dades binaris il·legibles i sense sentit.

Si s'utilitza sol, Get-Content no ofereix molta utilitat. Però es pot barrejar amb cmdlets més específics amb l'objectiu d'obtenir resultats més precisos.

Set-Content

Amb aquest cmdlet és possible emmagatzemar text en un arxiu, una cosa semblant al que es pot fer amb "tiro" al Bash. Si es fa servir en combinació amb el cmdlet Get-Content, es pot veure primer què és el que conté un determinat arxiu per posteriorment fer la còpia a un altre arxiu a través d'Set-Content.

Per exemple, es pot usar el cmdlet Set-Content per afegir o substituir el que conté un arxiu per un altre contingut. Finalment, es pot combinar amb la comanda abans esmentat per a desar-lo amb un nou nom (ejemplo.txt) de la següent manera:

Get-Content "C: \ Proyectos.htm" -TotalCount 30 | Set-Content "Ejemplo.txt"

Get-Variable

Si estàs en PowerShell tractant d'utilitzar variables, això pot ser fet amb el cmdlet Get-Variable, amb el qual vas a poder visualitzar aquests valors. Aquesta comanda mostra els valors en una taula, des d'on es poden utilitzar, incloure i excloure comodins.

Per utilitzar-lo només has d'escriure "Get-Variable" acompanyat dels seus paràmetres i altres opcions. Per exemple, si t'agradaria conèixer el valor de la variable "descompte" escriu el següent:

Get-Variable -Name "descompte"

Set-Variable

El valor d'una variable pot ser establert, modificat o reiniciat amb aquest cmdlet. Per fixar el valor de la variable d'el cas anterior, caldria escriure el següent:

Set-Variable -Name "descompte" -Value "Aquí es fixa el valor"

Get-Process

Sovint, utilitzem l'Administrador de Tasques per tal de descobrir exactament quins processos s'estan executant en el nostre PC. En PowerShell, qualsevol usuari pot saber això executant aquest cmdlet, amb el qual obtindrà la llista de processos actius en aquest moment.

El cmdlet Get-Process té certa semblança amb Get-Service, encara que en aquest cas ofereix informació sobre els processos.

Start-Process

Amb aquest cmdlet, Windows PowerShell fa que sigui molt més fàcil executar processos en l'equip.

Per exemple, si necessites fer servir la calculadora, la podràs obrir de forma ràpida i senzilla tipeando el següent:

Start-Process -FilePath "calc" -Verb

Stop-Process

Amb aquest cmdlet pots aturar un procés, ja sigui que hagi estat iniciat per tu o per un altre usuari.

Seguint amb l'exemple de la Calculadora, si vols interrompre íntegrament els seus processos en execució, escriu el que indica avall en PowerShell:

Stop-Process -Name "calc"

Start-Service

Si necessites començar un servei al PC, el cmdlet Start-Service és l'indicat en aquest cas, servint de la mateixa manera tot i que aquest servei estigui deshabilitat al PC.

Per iniciar el servei Windows Search, s'usa aquesta sintaxi:

Start-Service -Name "WSearch"

Stop-Service

Amb aquesta comanda detens els serveis que es troben en execució en l'equip.

Stop-Service -Name "Wsearch"

Amb aquesta ordre pararàs el servei "Windows Search".

Exit

Pots sortir de PowerShell utilitzant la comanda Èxit.

Conclusió sobre Windows PowerShell

Potser sembli que alguns d'aquests ordres no serveixen per a molt, encara que això passa perquè són ordres que no es destaquen fins que no s'introdueixen altres paràmetres que efectivament fan que el PowerShell mostri tota la seva potència.

Aquests paràmetres són útils quan estàs escrivint els teus propis cmdlets o Scripts light, el que representa una bona manera d'obtenir el major benefici de les funcions de PowerShell.

Encara que siguin comandaments als quals recorris esporàdicament, saber com funcionen i per a què serveixen té els seus avantatges, tenint en compte que actualment Microsoft està enfocat en PowerShell més que mai abans.

A la fi i al el cap, els cmdlets són ordres essencials que has de conèixer si vols treure el major profit del Windows PowerShell.

Tutories

Selecció de l'editor

Back to top button