Grundkrav: Windows PowerShell version 5.
Arbetsuppgift 1: Skapa klass som startar om valfri dator.
Steg 1: Använd sökfunktionen om du arbetar med Windows 10, sök efter Windows PowerShell ISE, högerklicka på ikon, välj att starta som administratör.
I Windows 8, klicka på Start Charm, skriv in Windows PowerShell ISE, högerklicka på ikon och välj att starta som administratör.
Arbetsuppgift 2: Skapa klass med ett antal variabler
Klass skapas med nyckelordet Class, följt av ett namn samt öppnande måsvingeparantes. På nya rader deklareras variabler och eventuella metoder, innan avslutande måsvingeparantes.
Steg 1: I kodfönstret, skriv in följande:
Class CDator {
[String]$Namn
[String]$Beskrivning
[String]$Typ
[String]$Ägare = ‘easec’
}
I koden ovan, tilldelas variabel
$Ägare
ett värde, lägg märke till att det är rak apostrof
som används.
Jag brukar namnge klasser med stor begynnelsebokstav C, för att följa namnkonvention och riktlinjer som bl a
definierats av Apache.
Arbetsuppgift 3: Utöka klass med metod.
Steg 1: I kodfönstret, gör några nya rader innan avslutande måsvingeparantes.
Steg 2: Skriv därefter in följande:
[void]Restart() {
Write-Host ‘Dator kommer att startas om nu!’ -ForegroundColor Green
}
[void]
indikerar att metoden inte kommer att returnera någon information, vi vill
utföra en händelse, i detta fallet starta om datorn.
Restart()
innebär att vi inte behöver skicka med någon information när vi kallar på metoden.
För tillfället kommer texten
”Dator kommer att startas om nu!” att visas, vi kommer att lägga till ett kommando lite senare.
Steg 3: Spara din klass, använd namnet CDator.ps1.
Arbetsuppgift 4: Skapa instans av klassen.
Instans är en kopia av klassen, som vi lägger i en variabel. Kopian ärver medlemsvariabler och metoder.
Steg 1: Exekvera koden genom att klicka på grön pil i Windows PowerShell ISE.
Steg 2: I konsolfönstret, skriv in följande:
$Dator = New-Object CDator
, klicka därefter på Enter.
Steg 3: Skriv in följande kommando, för att undersöka innehåll för vår variabel:
$Dator
och klicka på Enter.
Som du kan se så innehåller variabel Ägare det vi definierade i vår programkod.
De andra medlemsvariablarna kan populariseras på följande sätt:
$Dator. (punkt)
, IntelliSense
hjälper oss med dessa genom att visa en lista.
Skriv in
$Dator.Beskrivning=”Server”
, klicka därefter på Enter.
Steg 4: Gör på liknande sätt för att populärisera de andra medlemsvariablerna, se bild nedan:
Arbetsuppgift 5: Testa metoden, ändra metoden.
Steg 1: Skriv in kommandot:
$Dator.Restart()
, klicka därefter på Enter.
OBS! Tänk på att lägga till slutparantes, Windows PowerShell lägger inte till denna om IntelliSense används.
Steg 2: I ditt kodfönster, lägg till ny tom rad efter ordet Green men innan avslutande måsparantes i metoden.
Steg 3: Skriv in följande:
Restart-Computer –Force
Steg 4: Spara undan din klass, kör ditt skript.
Steg 5: Skapa ny instans av din klass, genom att skriva följande kommando:
$Dator = New-Object CDator -Property @{Namn="easecServer";Beskrivning="Server";Typ=”Server”;Ägare=”easec”}
,
klicka därefter på Enter.
Nyckelordet
New-Object
används för att skapa instans.
OBS! Nästa moment kommer att starta om din dator, testa detta i en labbmiljö!
Steg 6: Testa metoden genom att skriva in följande kommando:
$Dator.Restart()
, klicka därefter på Enter.
Arbetsuppgift 6: Ändra metod så att den fungerar på fjärrdator.
Steg 1: I Windows PowerShell ISE, ändra de två raderna efter
Restart () {
, enligt nedan:
Write-Host ”Dator” $this.Namn ”kommer att starta om nu!” –ForegroundColor Green
Restart-Computer $this.Namn –Force –credential ”domännamn\administratörskonto”
Steg 2: Spara undan din klass, kör ditt skript.
Steg 3: Skapa ny instans av din klass, genom att skriva följande kommando:
$Dator = New-Object CDator -Property @{Namn="namn_på_fjärrdator";Beskrivning="Server";Typ=”Server”;Ägare=”easec”}
, klicka därefter på Enter.
Arbetsuppgift 7: Ändra brandväggsregel på fjärrdator.
Steg 1: På fjärrdator, starta cmd.exe som administratör.
Steg 2: Skriv in följande kommando:
netsh advfirewall firewall set rule group="windows firewall remote management" new enable=yes
, klicka därefter på Enter.
Restart-Computer
använder WMI, Remote Management innehåller regelverk för alla verktyg.
Arbetsuppgift 8: Testa din metod.
Steg 1: I Windows PowerShell ISE konsol, skriv in kommandot
$Dator.Restart()
, klicka därefter på Enter.
Ange lösenordet, klicka på OK.
Din fjärrdator kommer att startas om.