I used to have all my common functions stored as separate scripts in a single folder. I’d load these through a few lines of code in my profile, looping through the script files and dot-sourcing them. Powershell v2.0 has a new feature called Modules. So how do you convert a bunch of scripts (containing functions) into a single module you can load or unload whenever you feel you might need those functions?

Here’s how:

# Convert function scripts to Module
 
#Variables
$myModuleName = "myModule123"
$inputFolder = 'D:\scripts\Functions'
$outputFolder = "$PSHOME\Modules\$myModuleName"
 
#Create the module directory
$null = New-Item $outputFolder -ItemType directory
 
#Create the module with a nice oneliner
Get-ChildItem $inputFolder -Filter "*.ps1" | Get-Content | Out-File "$outputFolder\$myModuleName.psm1" -Append
 
#Import the module
Import-Module $myModuleName
 
#Show functions loaded from the module
Get-Command -Module $myModuleName

»crosslinked«

No related posts.

  One Response to “Convert Scripts to Module”

  1. [...] Dit blogartikel was vermeld op Twitter door afokkema. afokkema heeft gezegd: cool script by @hugopeeters – Convert Scripts to Module: http://bit.ly/eYystO [...]

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

   
© 2012 PeetersOnline Suffusion theme by Sayontan Sinha