Difference between revisions of "Scriptprogrammering Februar 2017"
(→Tirsdag) |
|||
Line 37: | Line 37: | ||
1. Hvordan søger vi efter hjælp i powershell? | 1. Hvordan søger vi efter hjælp i powershell? | ||
− | Resultat: Get-Help | + | ''Resultat:'' Get-Help |
2. Hvordan udskriver man alt hvad der er i den mappe som brugeren befinder sig? | 2. Hvordan udskriver man alt hvad der er i den mappe som brugeren befinder sig? | ||
− | Resultat: dir eller ls | + | ''Resultat:'' dir eller ls |
3. Hvordan skifter man den sti som brugeren befinder sig i? | 3. Hvordan skifter man den sti som brugeren befinder sig i? | ||
− | Resultat: cd C:\users\MyUser\Desktop\ | + | ''Resultat:'' cd C:\users\MyUser\Desktop\ |
4. Hvordan kopieres en fil? | 4. Hvordan kopieres en fil? | ||
− | Resultat: Copy-Item C:\Users\MaKN\Desktop\ipconfig.txt C:\Users\MaKN\ | + | ''Resultat:'' Copy-Item C:\Users\MaKN\Desktop\ipconfig.txt C:\Users\MaKN\ |
5. Hvordan slettes en fil? | 5. Hvordan slettes en fil? | ||
− | Resultat: Remove-Item C:\Users\MaKN\Desktop\ipconfig.txt | + | ''Resultat:'' Remove-Item C:\Users\MaKN\Desktop\ipconfig.txt |
6. Hvordan opretter vi en textfil? | 6. Hvordan opretter vi en textfil? | ||
− | Resultat: "Dette er tekst" > textDoc.txt | + | ''Resultat:'' "Dette er tekst" > textDoc.txt |
7. Hvordan tilføjer vi tekst til filen uden at slette indholdet? | 7. Hvordan tilføjer vi tekst til filen uden at slette indholdet? | ||
− | Resultat: Add-Content C:\Users\MaKN\Desktop\myTextDocument.txt "Hej!" | + | ''Resultat:'' Add-Content C:\Users\MaKN\Desktop\myTextDocument.txt "Hej!" |
8. Hvad er et alias? | 8. Hvad er et alias? | ||
− | Resultat: En genvej til en kommando | + | ''Resultat:'' En genvej til en kommando |
9. Hvordan oprettes et alias? | 9. Hvordan oprettes et alias? | ||
− | Resultat: new-alias append add-content | + | ''Resultat:'' new-alias append add-content |
10. Hvordan startes lommeregneren fra powershell | 10. Hvordan startes lommeregneren fra powershell | ||
− | Resultat: calc.exe | + | ''Resultat:'' calc.exe |
11. Hvordan ses en liste over kørende processer på computeren? | 11. Hvordan ses en liste over kørende processer på computeren? | ||
− | Resultat: Get-Process | + | ''Resultat:'' Get-Process |
12. Hvordan lukkes lommeregneren fra powershell? | 12. Hvordan lukkes lommeregneren fra powershell? | ||
− | Resultat: Stop-process [id] | + | ''Resultat:'' Stop-process [id] |
13. Hvordan tilgås registreringsdatabasen i powershell? (hint hkcu) | 13. Hvordan tilgås registreringsdatabasen i powershell? (hint hkcu) | ||
− | Resultat: Get-ChildItem hkcu:\ | + | ''Resultat:'' Get-ChildItem hkcu:\ |
14. Opret en ny nøgle i registreringsdatabasen under SOFTWARE med navnet test | 14. Opret en ny nøgle i registreringsdatabasen under SOFTWARE med navnet test | ||
− | Resultat: New-Item hkcu:\SOFTWARE\test | + | ''Resultat:'' New-Item hkcu:\SOFTWARE\test |
15. Slet nu test fra SOFTWARE | 15. Slet nu test fra SOFTWARE | ||
− | Resultat: Remove-Item hkcu:\SOFTWARE\test | + | ''Resultat:'' Remove-Item hkcu:\SOFTWARE\test |
==Scripting== | ==Scripting== | ||
− | For at oprette en variabel skrives: | + | '''For at oprette en variabel skrives:''' |
<source lang="VB"> | <source lang="VB"> | ||
$minVariabel = "hej" | $minVariabel = "hej" | ||
</source> | </source> | ||
− | For at skrive til brugeren: | + | '''For at skrive til brugeren:''' |
<source lang="VB"> | <source lang="VB"> | ||
Write-host "Hej bruger." | Write-host "Hej bruger." | ||
</source> | </source> | ||
− | For at indlæse indtastet tekst fra brugeren skrives: | + | '''For at indlæse indtastet tekst fra brugeren skrives:''' |
<source lang="VB"> | <source lang="VB"> | ||
$brugerinput = read-Host | $brugerinput = read-Host | ||
Line 116: | Line 116: | ||
==Scripting opgaver== | ==Scripting opgaver== | ||
− | Opgave 1: Lav et script hvor brugeren indtaster et stykke tekst, som så bliver gemt på skrivebordet som UserInput.txt | + | '''Opgave 1:''' Lav et script hvor brugeren indtaster et stykke tekst, som så bliver gemt på skrivebordet som UserInput.txt |
− | Løsning: | + | ''Løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
Write-Host "Indtast et stykke tekst:" | Write-Host "Indtast et stykke tekst:" | ||
Line 127: | Line 127: | ||
</source> | </source> | ||
− | Opgave 2: Lav et script der indlæser hvad brugeren skrev i tekstfilen i en variabel. | + | '''Opgave 2:''' Lav et script der indlæser hvad brugeren skrev i tekstfilen i en variabel. |
− | løsning: | + | ''løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
$ReadFile = Get-Content C:\Users\MaKN\Desktop\UserInput.txt | $ReadFile = Get-Content C:\Users\MaKN\Desktop\UserInput.txt | ||
Line 135: | Line 135: | ||
</source> | </source> | ||
− | opgave 3: Lav et script der kan pinge en indtastet IP. Scriptet skal så gemme resultatet i en textfil på skrivebordet. | + | '''opgave 3:''' Lav et script der kan pinge en indtastet IP. Scriptet skal så gemme resultatet i en textfil på skrivebordet. |
− | løsning: | + | ''løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
Write-Host "Type an IP to ping" | Write-Host "Type an IP to ping" | ||
Line 145: | Line 145: | ||
</source> | </source> | ||
− | Opgave 4: Lav et script hvor brugeren indtaster 2 tal, som så bliver lagt sammen (som en lommeregner) | + | '''Opgave 4:''' Lav et script hvor brugeren indtaster 2 tal, som så bliver lagt sammen (som en lommeregner) |
− | løsning: | + | ''løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
Write-Host "Type first number" | Write-Host "Type first number" | ||
Line 160: | Line 160: | ||
</source> | </source> | ||
− | Opgave 5: Lav et script hvor brugeren kan indtaste et navn på en process som så skal lukkes. (eksempelvis lommeregneren). | + | '''Opgave 5:''' Lav et script hvor brugeren kan indtaste et navn på en process som så skal lukkes. (eksempelvis lommeregneren). |
− | løsning: | + | ''løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
Write-Host "Type the name of a process that you want to kill:" | Write-Host "Type the name of a process that you want to kill:" | ||
Line 172: | Line 172: | ||
</source> | </source> | ||
− | Opgave 6: Lav et script hvor brugeren indtaster sin højde og vægt, og scriptet udregner brugerens BMI. ((kg) / [Højde (m)]2) | + | '''Opgave 6:''' Lav et script hvor brugeren indtaster sin højde og vægt, og scriptet udregner brugerens BMI. ((kg) / [Højde (m)]2) |
− | Løsning: | + | ''Løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
Write-Host "What is your weight in kilo's?" | Write-Host "What is your weight in kilo's?" | ||
Line 194: | Line 194: | ||
=Tirsdag= | =Tirsdag= | ||
− | Eksempel på if-statement: | + | '''Eksempel på if-statement:''' |
<source lang="VB"> | <source lang="VB"> | ||
Line 219: | Line 219: | ||
</source> | </source> | ||
− | Eksempel på et array: | + | '''Eksempel på et array:''' |
<source lang="VB"> | <source lang="VB"> | ||
$arr = "Batman", "Superman", "Spiderman" | $arr = "Batman", "Superman", "Spiderman" | ||
Line 226: | Line 226: | ||
</source> | </source> | ||
− | Eksempel på et foreach-loop: | + | '''Eksempel på et foreach-loop:''' |
<source lang="VB"> | <source lang="VB"> | ||
Line 240: | Line 240: | ||
==Opgaver== | ==Opgaver== | ||
− | 1. Lav en simpel lommeregner, hvor brueren kan taste "1" for at lægge to tal sammen, taste "2" for at trække dem fra hinanden, 3 for at multiplicere, 4 for at dividere. | + | '''1. Lav en simpel lommeregner, hvor brueren kan taste "1" for at lægge to tal sammen, taste "2" for at trække dem fra hinanden, 3 for at multiplicere, 4 for at dividere.''' |
− | Løsning: | + | ''Løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
cls | cls | ||
Line 282: | Line 282: | ||
− | 2. Lav et script, hvor brugeren skal indtaste det år han/hun er født. | + | '''2. Lav et script, hvor brugeren skal indtaste det år han/hun er født. |
Hvis brugeren er over 21, modtager han en tekstbesked på skærmen hvor der står: "Du har adgang til mercantecs hemmelige stripclub". | Hvis brugeren er over 21, modtager han en tekstbesked på skærmen hvor der står: "Du har adgang til mercantecs hemmelige stripclub". | ||
− | Er brugeren ikke over 21, modtager han beskeden "Du er for ung til at blive medlem af mercantecs hemmeligheder" | + | Er brugeren ikke over 21, modtager han beskeden "Du er for ung til at blive medlem af mercantecs hemmeligheder"''' |
− | Løsning: | + | ''Løsning:'' |
<source lang="VB"> | <source lang="VB"> | ||
cls | cls | ||
Line 305: | Line 305: | ||
</source> | </source> | ||
− | 3. Lav et script, hvor brugeren kan taste "1" for at få vist computerens mest almindelige ip-konfigurationerne på skærmen. | + | '''3. Lav et script, hvor brugeren kan taste "1" for at få vist computerens mest almindelige ip-konfigurationerne på skærmen. |
Brugeren kan også taste 2 i stedet, for at få vise alle ip-konfigurationerne på skærmen. | Brugeren kan også taste 2 i stedet, for at få vise alle ip-konfigurationerne på skærmen. | ||
− | Eller brugeren kan taste 3 for at få gemt en tekstfil på skrivebordet med alle ip-konfigurationerne. | + | Eller brugeren kan taste 3 for at få gemt en tekstfil på skrivebordet med alle ip-konfigurationerne.''' |
− | Opgave 4: | + | '''Opgave 4:''' |
− | Færdiggør dette program, så en tilfældig værdi bliver genereret, og man kan vinde spillet: | + | '''Færdiggør dette program, så en tilfældig værdi bliver genereret, og man kan vinde spillet:''' |
<source lang="VB"> | <source lang="VB"> | ||
$x = 5 | $x = 5 |
Revision as of 11:09, 7 February 2017
Contents
Tidsplan
Dag | emne |
---|---|
Mandag | Intro til PowerShell |
Tirsdag | Introduktion til Scriptprogrammering |
Onsdag | Automatisering af opgaver |
Torsdag | praktisk projekt |
Fredag | Multiple-choice test og evaluering |
Generelt
Underviser: Mads Kristian Nielsen
E-mail: MaKn@mercantec.dk
Mandag
For at finde hjælp i powershell, skriv da:
Get-Help searchForThisWord
Opgaver:
1. Hvordan søger vi efter hjælp i powershell?
Resultat: Get-Help
2. Hvordan udskriver man alt hvad der er i den mappe som brugeren befinder sig?
Resultat: dir eller ls
3. Hvordan skifter man den sti som brugeren befinder sig i?
Resultat: cd C:\users\MyUser\Desktop\
4. Hvordan kopieres en fil?
Resultat: Copy-Item C:\Users\MaKN\Desktop\ipconfig.txt C:\Users\MaKN\
5. Hvordan slettes en fil?
Resultat: Remove-Item C:\Users\MaKN\Desktop\ipconfig.txt
6. Hvordan opretter vi en textfil?
Resultat: "Dette er tekst" > textDoc.txt
7. Hvordan tilføjer vi tekst til filen uden at slette indholdet?
Resultat: Add-Content C:\Users\MaKN\Desktop\myTextDocument.txt "Hej!"
8. Hvad er et alias?
Resultat: En genvej til en kommando
9. Hvordan oprettes et alias?
Resultat: new-alias append add-content
10. Hvordan startes lommeregneren fra powershell
Resultat: calc.exe
11. Hvordan ses en liste over kørende processer på computeren?
Resultat: Get-Process
12. Hvordan lukkes lommeregneren fra powershell?
Resultat: Stop-process [id]
13. Hvordan tilgås registreringsdatabasen i powershell? (hint hkcu)
Resultat: Get-ChildItem hkcu:\
14. Opret en ny nøgle i registreringsdatabasen under SOFTWARE med navnet test
Resultat: New-Item hkcu:\SOFTWARE\test
15. Slet nu test fra SOFTWARE
Resultat: Remove-Item hkcu:\SOFTWARE\test
Scripting
For at oprette en variabel skrives:
$minVariabel = "hej"
For at skrive til brugeren:
Write-host "Hej bruger."
For at indlæse indtastet tekst fra brugeren skrives:
$brugerinput = read-Host
Scripting opgaver
Opgave 1: Lav et script hvor brugeren indtaster et stykke tekst, som så bliver gemt på skrivebordet som UserInput.txt
Løsning:
Write-Host "Indtast et stykke tekst:"
$UserInput = Read-Host
$UserInput > C:\Users\MaKN\Desktop\UserInput.txt
Write-Host "Dit input blev gemt på skrivebordet."
Opgave 2: Lav et script der indlæser hvad brugeren skrev i tekstfilen i en variabel.
løsning:
$ReadFile = Get-Content C:\Users\MaKN\Desktop\UserInput.txt
Write-Host "The input was:" $ReadFile
opgave 3: Lav et script der kan pinge en indtastet IP. Scriptet skal så gemme resultatet i en textfil på skrivebordet.
løsning:
Write-Host "Type an IP to ping"
$ip = Read-Host
ping $ip > C:\Users\MaKN\Desktop\ipResult.txt
Opgave 4: Lav et script hvor brugeren indtaster 2 tal, som så bliver lagt sammen (som en lommeregner)
løsning:
Write-Host "Type first number"
[int]$num1 = Read-Host
Write-Host "Type second number"
[int]$num2 = Read-Host
Write-Host
"The result is:"
$num1 + $num2
Opgave 5: Lav et script hvor brugeren kan indtaste et navn på en process som så skal lukkes. (eksempelvis lommeregneren).
løsning:
Write-Host "Type the name of a process that you want to kill:"
$killThis = Read-Host
$processes = Get-Process $killThis
Stop-Process $processes
Opgave 6: Lav et script hvor brugeren indtaster sin højde og vægt, og scriptet udregner brugerens BMI. ((kg) / [Højde (m)]2)
Løsning:
Write-Host "What is your weight in kilo's?"
[double]$kg = Read-Host
Write-Host "What is your height in meters?"
[double]$height = Read-Host
Write-Host "Your BMi is:"
$kg / ($height * $height)
Link til læsestof
https://blog.udemy.com/powershell-tutorial/ - Læs fra "Using the Console" og frem.
Tirsdag
Eksempel på if-statement:
Write-Host "Type your name:"
$userInput = Read-Host
if($userInput -eq "Mads")
{
Write-Host "Welcome superUser"
}
elseif($userInput -eq "Henrik")
{
Write-Host "Welcome guest."
}
elseif($userInput -eq "Anders")
{
Write-Host "Welcome guest."
}
else
{
Write-Host "Bad input or wrong userName."
}
Eksempel på et array:
$arr = "Batman", "Superman", "Spiderman"
$arr[0] #Udskriver den første helte-and i arrayet (Batand)
Eksempel på et foreach-loop:
$arrat = "Batand", "Superand", "Spiderand"
foreach ($item in $array)
{
Write-Host "There was a:"$item
}
Opgaver
1. Lav en simpel lommeregner, hvor brueren kan taste "1" for at lægge to tal sammen, taste "2" for at trække dem fra hinanden, 3 for at multiplicere, 4 for at dividere.
Løsning:
cls
Write-Host "Type 1, to add two numbers."
Write-Host "Type 2, to subtract two numbers."
Write-Host "Type 3, to multiply two numbers."
Write-Host "Type 4, to divide two numbers."
$userChoice = Read-Host
Write-Host "Type the first number"
[int]$num1 = Read-Host
Write-Host "Type the second number"
[int]$num2 = Read-Host
Write-Host "The result was:"
if($userChoice -eq "1")
{
$num1 + $num2
}
elseif ($userChoice -eq "2")
{
$num1 - $num2
}
elseif ($userChoice -eq "3")
{
$num1 * $num2
}
elseif ($userChoice -eq "4")
{
$num1 / $num2
}
else
{
Write-Host "Didn't understand your input, please try again."
}
2. Lav et script, hvor brugeren skal indtaste det år han/hun er født.
Hvis brugeren er over 21, modtager han en tekstbesked på skærmen hvor der står: "Du har adgang til mercantecs hemmelige stripclub".
Er brugeren ikke over 21, modtager han beskeden "Du er for ung til at blive medlem af mercantecs hemmeligheder"
Løsning:
cls
Write-Host "Intast dit fødselsår"
$userBirthYear = Read-Host
[int]$currentYear = Get-Date -Format "yyyy"
if(($currentYear - 21) -gt $userBirthYear)
{
Write-Host "Velkommen ind"
}
else
{
Write-Host "Du er ikke gammel nok."
}
3. Lav et script, hvor brugeren kan taste "1" for at få vist computerens mest almindelige ip-konfigurationerne på skærmen. Brugeren kan også taste 2 i stedet, for at få vise alle ip-konfigurationerne på skærmen. Eller brugeren kan taste 3 for at få gemt en tekstfil på skrivebordet med alle ip-konfigurationerne.
Opgave 4:
Færdiggør dette program, så en tilfældig værdi bliver genereret, og man kan vinde spillet:
$x = 5
$answer = 42
while ($x -gt 0)
{
Write-Host "Gæt et tal mellem 0..100"
[int]$guess = Read-Host
if($guess -gt $answer)
{
Write-Host "The number was too large"
}
$x--
}