Gå til innhold

PowerShell - Nybegynner


Anbefalte innlegg

Hei.
Tenkte lære meg litt om powershell, har ingen programeringsbakrund, bare erfaring med batch script.

Powershell er vel valget jeg kan se for meg at jeg kan få mye brukt for det på jobb, slik at jeg kan kjøre script mot AD eller PC-er i nettverket.

Jeg kommer sikkert med mange spørsmål, men jeg kan vel først spør.

vel, helt enkelt har jeg da greid noe:


definere noe

$G ="Hei"
Write-Host man kan hilse med ordet $G

input

$H = Read-Host "vil du åpne kalkulatoren? ja/nei"

men etter jeg skjønner bruker man ofte å legge ting i parenteser da f.eks goto ikke er en mulighet.

 

Hvordan bruker man disse parranterene, og hva betyr dem?

 

Og: Noen guides å annbefale`?

Lenke til kommentar
Videoannonse
Annonse

jeg mente egentlig slike paranteres: {}, menmen ;)

Jeg syns boka virket intressangt, fikk lastet ned en PDF og har tatt første kapittel i dag som egentlig bare dreier seg om å konfigurere fontsize osv shellet.

 

Ser prisen ikke er så gal, liker jeg det jeg leser kjøper jeg vel et fysisk eksemplar underveis.

 

Jeg regner med det ikke er noe problem at jeg bruker powershell 4 med denne powershell 3 boka?

Lenke til kommentar

Det er nok den beste boken for å komme igang.. Du lærer alt du trenger for å bruke PS og lage relativt avanserte script.

Brackets kaller jeg disse {} :)

Også kalt script block..

Feksempel på bruk:

 

1.

if ($blabla -eq 'blabla') {Stop-Service iexplorer.exe}

 

2.

Get-Service | Where-Object {$_.Status -eq 'Stopped'}

 

3.

Invoke-Command -Computername blabla -ScriptBlock {Get-Process}

Endret av Kakeshoma
Lenke til kommentar

Fullført kap 8.

Lagde meg også et lite script som kan komme til nytte.
Ikke det mest heftige, men en plass må man begynne.

 

 

# Versjon 1 - 23.12.14 - Flemming
cls
$PC = Read-Host "PC Navn"
cls
echo "Sist innloggede brukere på $PC."
Get-ChildItem "\\$PC\c$\users" | Sort-Object LastWriteTime,Name -Descending | Select-Object -Property Name,LastWriteTime -First 10
Endret av Evelen!
Lenke til kommentar

Greia i eksempelet er at du feks skal opprette nye brukere i AD, så har du fått en csv-fil med brukerinfoen du trenger. Men dataidioter som HR ofte er så samsvarer ikke headernavnene (login, dept osv) med propertiene som PowerShell godtar i New-ADuser kommandoen, selvom du har oppgitt dette til HR.

Sånn at når du importerer csv filen i PowerShell vil brukernavnet få propterybeskrivelsen "login" siden det er i csv-headern. Men New-ADUser bruker -Name og -samAccountName, ikke -Login

Da kan du i stedet for å kaste bort mer tid på å få HR til brukere riktige headere bare endre navnet på propertien i et hashtable sånn at login tolkes som name eller samaccountname.

 

Hvis en csvfil ser slik ut:

login,dept
ola.nordmann,Salg
kari.nordmann,Admin

Kan du bruke dette for å opprette kontoen:

Import-CSV C:\temp\test.csv | Select -Property *,@{name='samAccountName';expression={$_.login}},@{name='Name';expression={$_.login}},@{name='Department';expression={$_.dept}} | New-ADUser

For å prøve, opprett en fil i notepad med det jeg skrev som csv over og lagre den på C:\temp som test.csv

 

I PowerShell skriv

Import-CSV C:\temp\test.csv 

og se hva du får ut.

Så skriv

Import-CSV C:\temp\test.csv | Select -Property *,@{name='samAccountName';expression={$_.login}},@{name='Name';expression={$_.login}},@{name='Department';expression={$_.dept}}

og se du får ut.

Lenke til kommentar
  • 1 år senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...