PT1. Powershell

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Contingut

Guillem Solà i Boeck (host A10BPC22)

Capítol 1: Configurant la finestra de consola de PowerShell

Exercici 1: Personalitzar un accés directe que apunti a un directori específic

Solució

(exercici teòric)

Exercici 2: Personalitzant el color i el tamany del texte

Solució

Des del menú Herramientas →opciones podem canviar aquests paràmetres. Jo deixaré per defecte els colors que ja hi van i la font i mida que ve predefinida.

Ps1.png


Exercici 3: Familiaritzant-nos amb les característiques d'edició de la consola de PowerShell

Solució

(exercici teòric)

Capítol 2: Iniciació a les comandes en PowerShell

Exercici 1: Llista tots els cmdlet que utilitzen els verbs "Add", "Clear", "New", and "Set"

Solució

get-command -Verb Add
get-command -Verb Clear
get-command -Verb New
get-command -Verb Set

Exercici 2: Llista tots els cmdlet que utilitzen el substantiu "Service"

Solució

get-command -type Cmdlet -name *Service*

Capítol 3: L’ajuda a PS

(capítol teòric sense exercicis)

Capítol 4: Utilitzant cmdlets

Exercici 1: Obre un terminal de PowerShell i realitza les següents tasques fent servir les Cmdlets corresponents

Solució

  • Mostra el llistat de totes les tasques o processos
Get-Process
  • Mostra el llistat de totes les tasques que comencin el seu nom per un caràcter que escullis
Llisto tots els processos que el seu nom comenci per s
Get-Process -ProcessName s*
  • Inicialitza un procés nou sense gaire repercussió pel sistema i atura'l mitjançant el seu PID
He arrencat OneDrive i he llistat els processos amb
Get-Process -ProcessName OneDrive
i he descobert que el seu pid és el 5720. Per a matar-lo, ho faig amb
Stop-Process -Id 5720
  • Mostra el temps de CPU que ha utilitzat un únic procés
Llisto el temps de CPU del procés explorer
Get-Process explorer | Format-List TotalProcessorTime
  • Llista aquells serveis que no estiguin aturats
get-service | where-object {$_.Status -ne 'Stopped'}
  • Llista aquells serveis indicant el nom del teu equip
El meu nom de host és DESKTOP-ET232A1. Per a buscar els serveis que s’executen al meu equip faré
get-service -ComputerName DESKTOP-ET232A1
  • Canvia el mode d'arrencada d'un servei d'automàtic a manual (després torna'l al seu valor original). Per poder-ho fer, primer hauràs llistar els serveis amb el mode d'arrencada automàtica
get-wmiobject win32_service -Filter "startmode = 'auto'"
Set-Service -Name WSearch -StartupType Manual
Set-Service -Name WSearch -StartupType Automatic
  • Amb quins Cmdlets podem realitzar les tasques de canvi d'estat de serveis? Fes la prova amb el servei “Computer Browser” i amb diferents estats
stop-service
start-service
restart-service
set-service
Passos a seguir:
  • Primer mostrar l’estat actual del Servicio Browser
Get-Service -Name Browser | Format-List "Status"
  • Després s’ha d’aturar
Stop-Service -Name Browser
  • Tornem a mirar l’estat
Get-Service -Name Browser | Format-List "Status"
  • Tornem a engegar el servei
Start-Service -Name Browser
  • Tornem a mirar l’estat
Get-Service -Name Browser | Format-List "Status"

Capítol 5: Àlies predefinits

Exercici 1: Proveu aquests àlies: dir, ls, gci i Get-ChildItem

Solució

Tots 4 àlies fan el mateix: llisten el contingut del directori on ens trobem.

Exercici 2: Proveu de fer el vostre propi àlies de qualsevol cmdlet de PS

Solució

Puc fer un àlies per al cmdlet Set-Service utilitzant ss.

Set-Alias ss Set-Service

Exercici 3: Proveu la exportació i importació d’àlies i comprova que el teu àlies personalitzat és pot fer servir. Primer haureu d’exportar àlies, tancar la sessió de PS, tornar a obrir PS i importar els àlies

Solució

Creo l’àlies amb

Set-Alias gs Get-Service

exporto els meus àlies fent

Export-Alias elsmeusalias.txt

comprovo que gs fa el mateix que Get-Service

Ps2.png


Tanco la powershell i torno a iniciar. Comprovo que ara l’àlies gs no existeix, importo elsmeusalias.txt i es carrega (els errors són deguts als àlies predefinits que ja existeixen i no es poden “sobreescriure”)

Ps3.png


Després, comprovo que gs ja funciona com a Get-Service:

Ps4.png


Capítol 6: Scripts en PowerShell

Els exercicis 1, 2 i 3 no existeixen.

Exercici 4

Per fer el nostre primer Script en PS obrirem un editor de texte, com per exemple el NOTEPAD i escriurem una línea amb la següent comanda Write-Host "Hello World” Guardarem aquest arxiu a la nostre carpeta ScriptsPS creada a l’inici amb el nom script1.ps1 i ja podrem executar-ho, simplement posant el nom script1.ps1 al terminal PS.

S'ha produït un error en crear la miniatura: No es pot desar la miniatura a la destinació


Capítol 7: Variables en PowerShell

Capítol 8: Operacions amb Variables en PowerShell

Capítol 9: Estructures en PowerShell

Capítol 10: Variables amb múltiples valors

Capítol 11: Funcions en PowerShell

Capítol 12: Exercicis varis en PowerShell