Yearly Archives

28 Articles

Powershell/remoting

Remoting med Powershell 2.0

Posted by ragnar harper on

Med remoting kan du utføre kommandoer på andre maskiner enn du sitter på. Du kan med andre ord utføre kommandoer på andre maskiner, og få resultatet overført til din egen maskin. Resultatet vil som vanlig være objekter. Remoting er en universell teknologi i Powershell som ikke setter bestemte krav til hver enkelt CmdLet. Det finnes Cmdlets i Powershell som benytter Microsoft .NET Framework metoder for å innhente informasjon fra andre maskiner enn du sitter på. Disse cmdlets benytter ikke remoting, og kan fortsatt benyttes uten at man setter opp remoting. Eksempel på disse cmdlets er Get-Service,Get-Process,Get-WmiObject, Get-EventLog og Get-WinEvent.

Oppsett av Remoting

For å benytte remoting med Powershell 2.0 kreves følgende:

· Windows Powershell 2.0 eller nyere

· Microsoft .NET Framework 2.0 eller nyere

· Windows Remote Management 2.0

Windows 7 og Windows Server 2008 R2 kommer med Powershell 2.0. Du kan sjekke dette med

$PSVersionTable.Version.Major

Windows 7 og Windows Server 2008 R2 kommer også med Windows Remote Management 2.0. Windows Remote Management kan også installeres separat på Windows XP samt Windows Server 2003 og nyere.

Krav til brukerrettigheter

For å etablere en fjerntilkobling og eksekvere kommandoer må brukeren være medlem av den lokale administrator gruppa på maskinen det kobles til. Eventuellt må brukeren kunne oppgi brukernavn og passord på en bruker som er medlem i administrator gruppa på maskina.

Når kreves det administrator rettigheter (Run As Administrator)?

Kjører du Windows Vista , Windows Server 2008 eller nyere må du starte Powershell som administrator for å utføre følgende oppgaver knyttet til remoting:

· Etablere fjerntilkobling til lokal maskin (loopback scenario)

· Gjøre konfigurasjonsendringer på remoting

· Se eller endre WS-Management innstillinger på lokal maskin. (egenskaper under WSMAN:)

Konfigurering av maskinen for remoting

Remoting er basert på WinRM tjenesten som er Microsoft sin implementering av WS-Management

(Web Services for Management).

Prosedyre for å aktivere remoting:

· Start Powershell med administrator rettigheter (Run As Administrator)

· Kjør følgende commando:

Enable-psremoting

clip_image002

Etter å ha kjørt enable-psremoting kan du sjekke om miljøet fungerer lokalt gjennom bruk av kommandoen new-pssession

clip_image004

New-PsSession cmdlet etablerer en egen remote tilkobling til lokal maskin. (loopback).

Problemer?

Merk at nettverkstilkoblingen må være av typen Work eller Home for at brannmuren skal tillate Remoting forespørsler. Hvis nettverkstilkoblingen har status Public vil remoting være blokkert i brannmuren.

Bruk av Invoke-Command

Vi kan bruke Invoke-Command til å utføre ad-hoc Powershell kommandoer mot en eller flere maskiner.

MERK! I eksemplet under benytter vi . (dot) til å angi lokal maskin.

Invoke-Command –ComputerName . -ScriptBlock {get-process}
Invoke-command -computername maskin1,maskin2, maskin3 -Scriptblock {get-process}

Vi kan også angi script som skal kjøres ved bruk av Invoke-Command cmdlet gjennom parameteren –FilePath :

Invoke-Command –ComputerName maskin1,maskin2,maskin3 –FilePath c:\scripts\report-usage.ps1

Bruk av PSSession

I eksemplene over så kjører du kommandoene uten å ta vare på kontekst. Med dette mener jeg at du ikke kan kjøre en serie med kommandoer som deler data, slik som funksjoner, alias eller variabler mellom kallene. Om du ønsker å ta vare på kontekst oppretter du en PSSession (Poweshell session). Denne gir deg en sesjon som kjører på maskinen, slik at data kan ivaretas mellom kallene.

Følgende eksempel illustrerer dette:

clip_image005

Legg merke til at linje 13 og 14 benytter en PSSession $s til å ivareta kontekst mellom kallene. Derfor fungerer det å sette $a lik 3, for så å lese ut verdien.

I linje 15 og 16 benyttes ikke sesjon. Det betyr at variabelen $a forsvinner etter at den er satt i linje 15, og den har derfor ingen verdi å returnere når jeg leser den i linje 16.

Powershell/Windows 7

Scripting av Windows 7 Libraries

Posted by ragnar harper on

Gjennom et prosjekt jeg deltar fikk vi behov for å scripte bibliotekene i Windows 7 (Libraries eller Bibliotek om du vil). Det viste seg at dette ikke var direkte tilgjenglig i Powershell, men at funksjonaliteten lå i shell32.dll med eksemplene i C. Alt lå an til at vi måtte benytte p/invoke i Powershell – noe man selvsagt kan gjøre. Heldigvis hadde noen fikset en .NET applikasjon, og jeg benyttet dll filene derfra, og jobben ble mye mindre 🙂

Denne gangen prøver jeg CodePlex, så du kan laste ned siste versjon av scriptet herfra:  http://windowslibrariespsh.codeplex.com

Release Notes

Short install guide:
(Extract to one of your folders given in $ENV:PSModulePath to simplify usage.)
Steps to install to your Modules folder:
Extract content from zip file to
~/documents/windowspowershell/modules/Windows7Library
If you don`t have the Modules folder in your WindowsPowershell folder, just create it.
From inside your Powershell session type the following command:
Import-Module Windows7Library


PLEASE NOTE
If this fails, please check that you allow scripts to run. If you demand Signed scripts, this script is not signed.
Also note that you might have to Unblock the file (as the file is downloaded from the Internet).
This should be done on the file Windows7Library.psm1 that you just extracted. (Right-Click the file, Properties and Unblock)


The commands inside the module is:
*Get-Library
*Add-Library
*Get-LibraryFolder
*Set-LibraryFolder
*Add-LibraryFolder
*Remove-LibraryFolder
*Get-KnownFolder

How to use?

Get-KnownFolder

To see all the knownfolders:
Get-KnownFolder -list
To get the path to the Documents Library
(Get-KnownFolder "DocumentsLibrary").Path

Get-Library

To read the Documents Library object:
$library=Get-Library (Get-KnownFolder "DocumentsLibrary").Path
Your could now play with the Library object:
$library | get-member

Get-LibraryFolder

Returns a list of the defined library folders
Get-LibraryFolder (Get-KnownFolder "DocumentsLibrary").Path

Add-LibraryFolder

Adds an path to the library
Add-LibraryFolder -LibraryPath(Get-KnownFolder "DocumentsLibrary").Path "\\server\share\folder"

Remove-LibraryFolder

Removes an defined library folder
Remove-LibraryFolder -LibraryPath (Get-KnownFolder "DocumentsLibrary").Path "\\server\share\folder"

Set-LibraryFolder

Set-LibraryFolder lets you define the default save folder for the library (note that the folder must be included in the library)
Set-LibraryFolder -LibraryPath (Get-KnownFolder "DocumentsLibrary").Path -DefaultSaveFolder "c:\docs"

Add-Library

With Add-Library you could create your own Libraries
Add-Library -Name "My Own Library" -Path "c:\users\user\Documents\"
(note that path here is where to store the library file (library-ms)

Have fun with this, and please, let me know of any improvments 🙂

Hyper-V/TechNet Live/Virtualisering/Windows Server 2008 R2

TechNet Live – Virtualiser din Infrastruktur

Posted by ragnar harper on

På neste runde av TechNet Live skal jeg også prate om virtualisering, med fokus på nyheter i Hyper-V R2 versjonen. Skal du benytte virtualisering på Microsoft plattformen, så kommer du heller ikke unna System Center produktene – så jeg tenkte vi skulle bli litt kjent med de også.

Mitt planlagte fokus er :

  • Nyheter i Hyper-V R2
  • System Center og hjelp til virtualisering
  • Hva gir System Center Virtual Machine Manager 2008 R2 deg?

Som i min tidligere post etterspør jeg innspill fra dere om konkrete ting jeg bør ta med! Kom igjen – gi meg innspill!!

Start gjerne en debatt på twitter eller send meg en epost!

Exchange 2010/TechNet Live/Virtualisering/Windows 7/Windows Server 2008 R2

Ny runde med TechNet Live!

Posted by ragnar harper on

Tradisjon tro nærmer høstens TechNet Live runde seg. Denne gangen med en spennende agenda fokusert på Windows 7, Windows Server 2008 R2 og Exchange 2010.
Selv skal jeg holde sesjoner på Exchange 2010 nyheter, virtualisering og en spennende sesjon på tips og triks iforbindelse med effektiv administrasjon.(Enklere administrasjon av dine miljøer)  Jeg har tenkt å blogge idagene fremover om de ulike sesjonene jeg skal holde. Jeg oppfordrer alle som har innspill til tema jeg bør ta opp om å komme med disse, enten per epost eller på twitter.

Hva er mine planer for sesjonen Enklere administrasjon av dine miljøer?

“I denne sesjonen ser vi nærmere på erfaringer vi har gjort oss iløpet av nesten 10 år med Active Directory. Det vil bli en gjennomgang av Active Directory infrastruktur og hvordan denne fungerer. Her vi du kunne lære om SPN(Service Principal Names), autentisering,  read-only domain controllers og andre tips rundt Active Directory. Sesjonen er demotung, og vil også gi en innføring i PowerShell. Scriptingspråket som hjelper deg å atumatisere arbeidsoppgaver på din infrastruktur.”

Her er de punktene jeg har tenkt å fokusere på:

  • Active Directory
  • Autentisering
  • Service Principal Names (SPN)
  • Read-only domain controllers
  • Roller og deres funksjon i AD (FSMO)
  • Ulike Active Directory Modi – når velge hva?
  • Powershell støtte i Active Directory i Windows Server 2008 R2

MEN! Denne gangen ønsker jeg også innspill fra dere – er det problemstillinger dere mener jeg bør ta opp? Fortell meg!

Du finner fullstendig agenda og datoer for de ulike byene – samt påmelding – her : http://www.microsoft.com/norge/msdn_technet_live/agenda.aspx

Powershell

Powershell 2.0

Posted by ragnar harper on

Mange spør om Powershell 2.0 , og om det er i RTM. Powershell 2.0 er per idag  RTM for Windows 7 og Windows Server 2008 R2 , samt at det finnes som RC(Release Candidate) for Vista og Windows 2008 Server.

Du kan laste det ned her : https://connect.microsoft.com/windowsmanagement/Downloads

(I tillegg til Powershell 2.0 finner du der WinRM 2.0 og BITS 4.0, som du også trenger)

Pakker for XP SP3 og Windows Server 2003 SP2 vil bli tilgjenglig, men er  ikke offentlig tilgjenglig per dags dato.

MANUS/Sertifisering/Studygroup/Windows Server 2008

Windows Server 2008 Studygroup i Oslo og Kristiansand

Posted by ragnar harper on

MANUS har igjen satt opp studygroups for de som ønsker å sertifisere seg i Windows Server 2008. Studygroupen har som mål at deltakerne blir sertifiserte MCITP:Enterprise Administrator.

Iløpet av 7 uker som inkluderer tre helgesamlinger vil gruppen forberede seg sammen.

Du finner mer info på MANUS sine sider : http://www.manus.no/nyheter/ny-study-group-i-oslo.aspx

Jeg kommer til å lede studygroupen i Oslo.

Uncategorized

Ny bloggplattform

Posted by ragnar harper on

Jeg har nå endret min bloggplattform til Typepad. Det innebærer at URL er endret til kun www.harper.no . Jeg håper og tror at dere som leser bloggen vil få en bedre opplevelse med Typepad.Den gir meg iallefall en del nye muligheter, så får vi se hvordan det går 🙂

Windows 7/Windows Server 2008/Windows Server 2008 R2

Noen kjekke snarveier

Posted by ragnar harper on

Her er en liste med noen av mine favoritt snarveier.

Du sparer en god del klikk gjennom en arbeidsdag om du behersker disse 🙂

 

Windows Åpne eller lukke Start-menyen
Windows+Pause Viser System Properties
Windows + D Viser skrivebordet (trykk en gang til for å legge tilbake vinduene slik de var)
Windows+M Minimer alle vinduene
Windows+Shift+M Legg tilbake minimerte vinduer slik de var før minimering
Windows+E Windows Explorer
Windows+F Søk
Ctrl+Windows+F Søk etter datamaskiner(på et nettverk)
Windows+L Lås datamaskinen (eller bytt bruker)
Windows+R Åpne Run dialogboksen
Windows+Tab Bla igjennom åpne vinduer (Flip3D)
Ctrl+Windows+B Åpne programmet som viste en beskjed på oppgavelinjen
Windows+Space Vis skrivebordet
Windows+Pil Opp Maksimer vinduet
Windows+Home Minimer alle vinduer bortsett fra det aktive
Windows+Shift+Høyre/venstre piltast Flytt et vindu fra en skjerm til en annen
Windows+P Dialogboks for Prosjektor presentasjonmodus
Windows+X Åpne Windows Mobility Center