Difference between revisions of "Scriptprogrammering Februar 2017"

From Teknologisk videncenter
Jump to: navigation, search
(Opgaver)
Line 267: Line 267:
 
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:
 +
<source lang="VB">
 +
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."
 +
}
 +
</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.

Revision as of 10:14, 7 February 2017

Tidsplan

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."
}


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.