Diferència entre revisions de la pàgina «ASIX/M06/UF2/PT1»
Línia 157: | Línia 157: | ||
==Capítol 8: Operacions amb Variables en PowerShell== | ==Capítol 8: Operacions amb Variables en PowerShell== | ||
+ | |||
==Capítol 9: Estructures en PowerShell== | ==Capítol 9: Estructures en PowerShell== | ||
==Capítol 10: Variables amb múltiples valors== | ==Capítol 10: Variables amb múltiples valors== | ||
==Capítol 11: Funcions en PowerShell== | ==Capítol 11: Funcions en PowerShell== | ||
==Capítol 12: Exercicis varis en PowerShell== | ==Capítol 12: Exercicis varis en PowerShell== |
Revisió del 17:54, 18 maig 2018
Contingut
- 1 Guillem Solà i Boeck (host A10BPC22)
- 1.1 Capítol 1: Configurant la finestra de consola de PowerShell
- 1.2 Capítol 2: Iniciació a les comandes en PowerShell
- 1.3 Capítol 3: L’ajuda a PS
- 1.4 Capítol 4: Utilitzant cmdlets
- 1.5 Capítol 5: Àlies predefinits
- 1.6 Capítol 6: Scripts en PowerShell
- 1.7 Capítol 7: Variables en PowerShell
- 1.8 Capítol 8: Operacions amb Variables en PowerShell
- 1.9 Capítol 9: Estructures en PowerShell
- 1.10 Capítol 10: Variables amb múltiples valors
- 1.11 Capítol 11: Funcions en PowerShell
- 1.12 Capítol 12: Exercicis varis en PowerShell
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.
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
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”)
Després, comprovo que gs ja funciona com a Get-Service:
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.
Solució
Exercici 5
Una segona forma de fer-ho seria obrint l’entorn POWERSHELL ISE, que ens proporciona una interfície gràfica amb diferents menús d’ajuda per poder crear el nostre Script. Aquestes ajudes ens permeten obtenir la sintaxi exacte de la comanda per a minimitzar errors. Feu el mateix script anterior amb l’ajuda de POWERSHELL ISE.
Solució
Creo un nou arxiu de PowerShell i el deso com a helloworldise.ps1
Llavors des de la consola, puc executar-lo amb ./helloworldise.ps1.
Capítol 7: Variables en PowerShell
Exercici 1
Proveu de crear la vostra pròpia variable i després visualitzeu el valor amb Get-Variable
Solució
$Guillem = “PowerShell” Get-Variable
Exercici 2
Feu que us demani primer el vostre nom i després la vostra edat. Visualitzeu un missatge per pantalla com aquest: Hola <el vostre nom>, la teva edat és de <vostra_edat> anys
Solució
$nom = Read-Host "Com et dius? " $edat = Read-Host "Quants anys tens? " Write-Host "Hola $nom, la teva edat és $edat anys."
Exercici 3
Mostra per pantalla els tipus de les dues variables utilitzades a l’exercici anterior
Solució
Afegirem aquestes línies al final de l'script de l'exercici anterior i l'executarem:
$tipusnom=$nom.GetType() $tipusedat=$edat.GetType() Write-Host "La variable nom és del tipus $tipusnom i l'edat és del tipus $tipusedat"