Scriptprogrammering Februar 2017

From Teknologisk videncenter
Revision as of 08:21, 7 February 2017 by Makn (talk | contribs) (Tirsdag)
Jump to: navigation, search

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