Use powershell to unzip files without specifiying zip file name

So One year passed by, my son turns one year old the 11th of February so it’s back to work for me! And what better way to start then to start a fight with Powershell. I gotta tell you, scripting with Powershell is like playing MUD (command-line based role playing). Very addictive and time just passes in a flash!

I was searching for a script to unzip a file but I only found scripts where you had to specify a static path to the filename OR the script was seven pages long OR you needed to run it with parameters… So after some hacking and constructing it came down to this:

# Change the Path & Destination variable

$path = “C:\Whereisthezip”

$destination = “C:\Wheredoyouwanttounzip”

 $shell_app= New-Object -com shell.application

$files = Get-ChildItem -Path $path -filter *.zip -recurse

foreach($file in $files) {

  $zip_file = $shell_app.namespace($file.FullName)

  $copyHere = $shell_app.namespace($destination)



Thanks to Niklas Goude I didn’t have to spend one more day with it 😉

Windows 8 RTM is here! If you don’t want to upgrade but want to try it out, dualboot with VHD!

If you want to try out Windows 8 but don’t feel like letting go of Windows 7 until you’ve figured out where the Startmenu went, a local dualboot environment can ease your mind.

Before we start – you know when you were a kid and you wanted to be a magician and do cool stuff to impress people but was too lazy to learn magic tricks? (Maybe it’s just me..)
Now, as an adult, I think powershell can have that effect, and for us IT-administrators who think that Windows 8 is too flashy, well… There are a lot of awesome cmdlets out there in Windows 8 (and Server 2012) and I mean this in a really good and comforting way.

So off we go!
Get your Windows 8 RTM 90 day trial
Scroll down on the page and sign in with your Windows Live ID

Download a Powershell install-windowsimage.ps1 script
To apply the installation files from the Windows 8 RTM ISO

And since you’ll be doing this from a Windows 7 client you’ll be needing an ISO application such as PowerIso or other (But hey, in Windows 8 there’s already built-in support for that)

1. Run cmd as administrator and enter the following

·        diskpart

·        create vdisk file=c:\w8\w8.vhd maximum=20000 type=expandable

·        select vdisk file=c:\w8\w8.vhd

·        attach vdisk

·        create partition primary

·        active

·        format fs=ntfs quick

·        assign letter=Z

·        exit

2. Mount the Windows 8 RTM ISO and note the drive letter

3. Run Powershell as Administrator and run the following command:Set-ExecutionPolicy Remotesigned (and answer Y)

4. In Powershell navigate to the directory where your install-windowsimage.ps1 file is located by using cd or other commands and run the following command from powershell
.\Install-WindowsImage.ps1 –WIM F:\Sources\Install.wim –Apply –Index 1 –Destination Z:\

(Where F is the drive letter of the mounted ISO and Z:\ is the destination of my mounted VHD)

5. When the install.wim is applied and ready you run the following command from an elevated cmd
bcdboot.exe Z:\Windows

And done!

Now restart, log on to your Windows 8 machine and… Why not run Hyper-V in Windows 8?

Powershell 3.0 i Windows 7

Om du inte har satt dig in i Powershell ännu så är det hög tid att göra detta. Det finns en bok i pdf format som är helt gratis att hämta hem (Niklas Goude) och nu med Powershell 3.0 så kommer vi att få många fler användabara kommandon som automatiserar och snabbar upp, ja… i princip all form av management.
För att få de senaste s.k cmdlets som finns för Powershell 3.0 så behöver du göra följande i din Windows 7 maskin, i Windows 8 så finns redan Powershell 3.0, dock måste du tänka på att din Windows 7 klient måste vara på engelska.

Hämta hem och installera .Net 4.0 framework
Starta om datorn och installera 
Windows Management Framework 3.0

Sedan för att kunna importera vissa moduler så behöver du även installera 
Windows ADK
Ett exempel på kommando är att du får fler växlar för Dism, om du ska göra en s.k dualboot eller Windows to go osv, så slipper man ImageX.
Sedan finns det möjlighet att schemalägga att powershell script körs och många fler cmdlets och funktioner.

Här finns också en intressant artikel om WMI och powershell och hur Common Information Model (CIM) fungerar

Installera Mango (Windows Phone 7.5)

Nu väntar en del av oss på Windows Phone 7.5 uppdateringen.
Istället för att vänta (och om man inte har något bättre för sig) så kan man forcera uppdateringen.
Det finns en blogg här om detta
Man startar Zune, ansluter mobilen, går till Uppdatera och när man ser att Zune söker efter en uppdatering så drar man ur nätverkssladden. När den hittar en uppdatering så anslut nätverket igen, uppdatera telefonen, sedan ska du få att en annan uppdatering finns tillgänglig. Om inte, repetera om från början.
Se tidigare nämnd blogg för mer information.

Script (samt psexec) för att avinstallera applikationer remote

Remote uninstall Software.HTA används för att “silent” avinstallera applikationer på en fjärransluten dator utan att användare märker något.

Man kör Remote Uninstall Software.HTA och sedan pekar man ut en dator.
När man sedan klickar på Silent vid en applikation så säger den första gången att man måste lägga PSEXEC i ett antal sökvägar.
Det är bara att kopiera in PsEXec.exe i de sökvägar som programmet hänvisar till. Sedan kan man avinstallerar applikationer på en dator utan att användare märker något.

Förklaring till scriptet och var det går att hämta hem kostnadsfritt finns här