{"id":51383,"date":"2010-02-06T00:01:00","date_gmt":"2010-02-06T00:01:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/heyscriptingguy\/2010\/02\/06\/hey-scripting-guy-weekend-scripter-conversion-module-part-1\/"},"modified":"2010-02-06T00:01:00","modified_gmt":"2010-02-06T00:01:00","slug":"hey-scripting-guy-weekend-scripter-conversion-module-part-1","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/scripting\/hey-scripting-guy-weekend-scripter-conversion-module-part-1\/","title":{"rendered":"Hey, Scripting Guy! Weekend Scripter: Conversion Module, Part 1"},"content":{"rendered":"<h2><font size=\"5\"><a class=\"addthis_button\" href=\"http:\/\/www.addthis.com\/bookmark.php?v=250&amp;pub=scriptingguys\"><img decoding=\"async\" alt=\"Bookmark and Share\" width=\"125\" height=\"16\" src=\"http:\/\/s7.addthis.com\/static\/btn\/v2\/lg-share-en.gif\"><\/a>&nbsp;<\/font><\/p>\n<p>Microsoft Scripting Guy Ed Wilson here. Well, this is truly a historic day for a number of reasons. The first reason is that this is the first Saturday column in Scripting Guy history! The second historic occasion is that we finally got snow in Charlotte, North Carolina. This second reason is not really historical<span>&mdash;<\/span>we get snow in Charlotte from time to time<span>&mdash;<\/span>but this snow has been long awaited, much anticipated, and truly appreciated. As seen in the following image, even Dr. Scripto got into the spirit of things as he attempted to make a snow person. <\/p>\n<p class=\"MsoNormal\"><img decoding=\"async\" title=\"Image of Dr. Scripto\" alt=\"Image of Dr. Scripto\" width=\"195\" height=\"276\" src=\"http:\/\/img.microsoft.com\/library\/media\/1033\/technet\/images\/scriptcenter\/qanda\/hsg\/2010\/february\/hey0206\/wes-2-6-10-1.jpg\"><a href=\"http:\/\/img.microsoft.com\/library\/media\/1033\/technet\/images\/scriptcenter\/qanda\/hsg\/2010\/february\/hey0206\/wes-2-6-10-1.jpg\"><\/a><\/p>\n<\/p>\n<p class=\"MsoNormal\">Because we received all the snow and had freezing temperatures, I decided I would like to share the information with my friend Georges who lives in Quebec. When sharing such information with my friends outside the United States, I consider it polite to translate the measurements into metric. I was looking through my conversion functions that we discussed back in December&rsquo;s <a href=\"http:\/\/blogs.technet.com\/heyscriptingguy\/archive\/2009\/12\/23\/hey-scripting-guy-december-23-2009.aspx\"><font face=\"Segoe\">Hey, Scripting Guy! Why Would I Even Want to Use Functions in My Windows PowerShell Scripts?<\/font><\/a> post , and I decided it would be more convenient to convert the functions into a module, rather than needing to dot-source the file each time I wanted to access them. <\/p>\n<p class=\"MsoNormal\">The ConversionFunctions.ps1 script is seen here.<\/p>\n<p class=\"CodeBlockScreenedHead\"><b>ConversionFunctions.ps1<\/p>\n<p><\/b><\/p>\n<p><span><font><font face=\"Lucida Sans Typewriter\">Function Script:ConvertToMeters($feet)<br \/>{<br \/><span>&nbsp; <\/span>&#8220;$feet feet equals $($feet*.31) meters&#8221;<br \/>} #end ConvertToMeters<\/p>\n<p>Function Script:ConvertToFeet($meters)<br \/>{<br \/><span>&nbsp;<\/span>&#8220;$meters meters equals $($meters * 3.28) feet&#8221;<br \/>} #end ConvertToFeet<\/p>\n<p>Function Script:ConvertToFahrenheit($celsius)<br \/>{<br \/><span>&nbsp;<\/span>&#8220;$celsius celsius equals $((1.8 * $celsius) + 32 ) fahrenheit&#8221;<br \/>} #end ConvertToFahrenheit<\/p>\n<p>Function Script:ConvertTocelsius($fahrenheit)<br \/>{<br \/><span>&nbsp;<\/span>&#8220;$fahrenheit fahrenheit equals $( (($fahrenheit &#8211; 32)\/9)*5 ) celsius&#8221;<br \/>} #end ConvertTocelsius<\/p>\n<p>Function Script:ConvertToMiles($kilometer)<br \/>{<br \/><span>&nbsp; <\/span>&#8220;$kilometer kilometers equals $( ($kilometer *.6211) ) miles&#8221;<br \/>} #end convertToMiles<\/p>\n<p>Function Script:ConvertToKilometers($miles)<br \/>{<br \/><span>&nbsp; <\/span>&#8220;$miles miles equals $( ($miles * 1.61) ) kilometers&#8221;<br \/>} #end convertToKilometers<\/font><\/font><\/span><\/p>\n<p class=\"MsoNormal\">So how did I create a module from my conversion functions?<\/p>\n<p class=\"BullList\"><span><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span>The first thing I did was copy all of the functions into a blank Windows PowerShell ISE window. <\/p>\n<p class=\"BullList\"><span><span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span>Next, I renamed all of the functions.<\/p>\n<p class=\"BullList\"><span><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span>I then created a template so that I could add help to each of the functions.<\/p>\n<p class=\"BullList\"><span><span>4.<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span>Last, I used my Copy-Module.ps1 script to install the newly created module onto my system. <\/p>\n<p class=\"MsoNormal\">Here is the help template I used:<\/p>\n<p class=\"CodeBlockScreenedHead\"><b><\/b><\/p>\n<p><b><\/b><\/p>\n<p class=\"BullList\">\n<p><b>HelpTemplate.txt<\/p>\n<p><\/b><\/p>\n<p class=\"CodeBlockScreened\"><span><font><font face=\"Lucida Sans Typewriter\">&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts into <br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 into <br \/><span>&nbsp;&nbsp; <\/span>.Parameter <br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The<span>&nbsp; <\/span>to be converted<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<\/p>\n<p><\/font><\/font><\/span><\/p>\n<p class=\"MsoNormal\">After renaming the functions, and adding help to each function, I saved the module as ConversionModule.psm1. The complete ConversionModule.psm1 module is seen here.<\/p>\n<p class=\"CodeBlockScreenedHead\"><b>ConversionModule.psm1<\/p>\n<p><\/b><\/p>\n<p class=\"CodeBlockScreened\"><span><font><font face=\"Lucida Sans Typewriter\">Function ConvertTo-Meters<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts feet into meters<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Meters 1<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 foot into meters<br \/><span>&nbsp;&nbsp; <\/span>.Parameter feet<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The number of feet to be converted<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Meters<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>$feet<br \/>) #end param<br \/><span>&nbsp; <\/span>&#8220;$feet feet equals $($feet*.31) meters&#8221;<br \/>} #end ConvertTo-Meters<\/p>\n<p>Function ConvertTo-Feet<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts meters into feet<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Feet 1<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 meter into feet<br \/><span>&nbsp;&nbsp; <\/span>.Parameter meters<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The number of meters to be converted into feet<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Feet<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;<\/span>$meters<br \/>) #end param<br \/><span>&nbsp;<\/span>&#8220;$meters meters equals $($meters * 3.28) feet&#8221;<br \/>} #end ConvertTo-Feet<\/p>\n<p>Function ConvertTo-Fahrenheit<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts celsius into fahrenheit<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Fahrenheit 1<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 degree celsius into fahrenheit<br \/><span>&nbsp;&nbsp; <\/span>.Parameter celsius<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The<span>&nbsp; <\/span>temperature to be converted into fahrenheit<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Fahrenheit<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>$celsius<br \/>) #end param<br \/><span>&nbsp;<\/span>&#8220;$celsius celsius equals $((1.8 * $celsius) + 32 ) fahrenheit&#8221;<br \/>} #end ConvertTo-Fahrenheit<\/p>\n<p>Function ConvertTo-celsius<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts fahrenheit into celsius<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Celsius 1<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 degree fahrenheit into celsius<br \/><span>&nbsp;&nbsp; <\/span>.Parameter fahrenheit<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The<span>&nbsp; <\/span>temperature to be converted<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Celsius<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp; <\/span><span>&nbsp;&nbsp;<\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>$fahrenheit<br \/>) #end param<br \/><span>&nbsp;<\/span>&#8220;$fahrenheit fahrenheit equals $( (($fahrenheit &#8211; 32)\/9)*5 ) celsius&#8221;<br \/>} #end ConvertT-ocelsius<\/p>\n<p>Function ConvertTo-Miles<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts kilometers into miles<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Miles<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 kilometer into miles<br \/><span>&nbsp;&nbsp; <\/span>.Parameter kilometer<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The distance to be converted<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Miles<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>$kilometer<br \/>) #end param<br \/><span>&nbsp; <\/span>&#8220;$kilometer kilometers equals $( ($kilometer *.6211) ) miles&#8221;<br \/>} #end convertToMiles<\/p>\n<p>Function ConvertTo-Kilometers<br \/>{<br \/><span>&nbsp;<\/span>&lt;#<br \/><span>&nbsp; <\/span>.Synopsis<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts miles into Kilometers<br \/><span>&nbsp;&nbsp; <\/span>.Example<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Kilometers 1<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>Converts 1 mile into kilometers<br \/><span>&nbsp;&nbsp; <\/span>.Parameter miles<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>The distance to be converted<br \/><span>&nbsp;&nbsp; <\/span>.Notes<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>NAME:<span>&nbsp; <\/span>ConvertTo-Kilometers<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>AUTHOR: Ed Wilson<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>LASTEDIT: 1\/31\/2010<br \/><span>&nbsp;&nbsp;&nbsp; <\/span>KEYWORDS:<br \/><span>&nbsp;&nbsp; <\/span>.Link<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Http:\/\/www.ScriptingGuys.com<br \/><span>&nbsp;<\/span>#Requires -Version 2.0<br \/><span>&nbsp;<\/span>#&gt;<br \/><span>&nbsp;<\/span>[CmdletBinding()]<br \/><span>&nbsp;<\/span>param(<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>[Parameter(Mandatory = $true,Position = 0,valueFromPipeline=$true)]<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>$miles<br \/>) #end param<br \/><span>&nbsp; <\/span>&#8220;$miles miles equals $( ($miles * 1.61) ) kilometers&#8221;<br \/>} #end convertTo-Kilometers<\/p>\n<p><\/font><\/font><\/span><\/p>\n<p class=\"MsoNormal\">After I saved the ConversionModule.psm1 file, I used my <a href=\"http:\/\/blogs.technet.com\/heyscriptingguy\/archive\/2010\/01\/19\/hey-scripting-guy-january-19-2010.aspx\">Copy-Modules.ps1 script<\/a> to install my new module. After the module is installed, I like to use the <b>Get-Module<\/b> cmdlet to ensure it has been properly installed. I also like to import the module by using the <b>Import-Module<\/b> cmdlet to import the module into the current Windows PowerShell session. I then use the <b>Get-Command<\/b> cmdlet to see which commands have been exported by the module. This is seen here:<\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\">PS C:&gt; C:fsoCopy-Modules.ps1<\/p>\n<p>cmdlet Copy-Modules.ps1 at command pipeline position 1<br \/>Supply values for the following parameters:<br \/>path: c:fso<br \/>PS C:&gt; Get-Module -ListAvailable<\/p>\n<p>ModuleType Name<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span>ExportedCommands<br \/>&#8212;&#8212;&#8212;- &#8212;-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>Script<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>BasicFunctions<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Script<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConversionModule<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Script<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>DotNet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>FileSystem<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>IsePack<span>&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PowerShellPack<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSCodeGen<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSImageTools<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSRSS<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSSystemTools<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSUserTools<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;<\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>TaskScheduler<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>WPK<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>ActiveDirectory<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>AppLocker<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>BitsTransfer<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>FailoverClusters<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>GroupPolicy<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>NetworkLoadBalancingCl&#8230; {}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>PSDiagnostics<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<br \/>Manifest<span>&nbsp;&nbsp; <\/span>TroubleshootingPack<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>{}<\/p>\n<p>PS C:&gt; Import-Module conversion*<br \/>PS C:&gt; Get-Command -Module conversion*<\/p>\n<p>CommandType<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Name<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span>Definition<br \/>&#8212;&#8212;&#8212;&#8211;<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8212;&#8212;-<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-celsius<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>param($fahrenheit)&#8230;<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Fahrenheit<span>&nbsp;&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span>param($celsius)&#8230;<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Feet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>param($meters)&#8230;<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Kilometers<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;\nnbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>param($miles)&#8230;<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Meters<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span>param($feet)&#8230;<br \/>Function<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Miles<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>param($kilometer)&#8230;<\/p>\n<p>PS C:&gt;<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"MsoNormal\">The last thing I do is check the <b>Get-Help<\/b> function to ensure it is working with my new commands. This is seen here:<\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\">PS C:&gt; Get-Help ConvertTo-kilometers<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><\/p>\n<p><font face=\"Lucida Sans Typewriter\">&nbsp;<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\">NAME<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\"><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Kilometers<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><\/p>\n<p><font face=\"Lucida Sans Typewriter\">&nbsp;<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\">SYNOPSIS<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\"><span>&nbsp;&nbsp;&nbsp; <\/span>Converts miles into Kilometers<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><\/p>\n<p><font face=\"Lucida Sans Typewriter\">&nbsp;<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\">SYNTAX<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><font face=\"Lucida Sans Typewriter\"><span>&nbsp;&nbsp;&nbsp; <\/span>ConvertTo-Kilometers [-miles] &lt;Object&gt; [&lt;CommonParameters&gt;]<\/p>\n<p><\/font><\/span><\/p>\n<p class=\"CodeBlock\"><span><\/p>\n<p><font face=\"Lucida Sans Typewriter\">&nbsp;<\/font><\/p>\n<p><\/span><\/p>\n<p class=\"CodeBlock\"><span style=\"FONT-SIZ\"><\/span><\/p>\n<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Microsoft Scripting Guy Ed Wilson here. Well, this is truly a historic day for a number of reasons. The first reason is that this is the first Saturday column in Scripting Guy history! The second historic occasion is that we finally got snow in Charlotte, North Carolina. This second reason is not really historical&mdash;we [&hellip;]<\/p>\n","protected":false},"author":595,"featured_media":87096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[51,52,3,4,61,45],"class_list":["post-51383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-getting-started","tag-modules","tag-scripting-guy","tag-scripting-techniques","tag-weekend-scripter","tag-windows-powershell"],"acf":[],"blog_post_summary":"<p>&nbsp; Microsoft Scripting Guy Ed Wilson here. Well, this is truly a historic day for a number of reasons. The first reason is that this is the first Saturday column in Scripting Guy history! The second historic occasion is that we finally got snow in Charlotte, North Carolina. This second reason is not really historical&mdash;we [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/51383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/users\/595"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/comments?post=51383"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/51383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media\/87096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media?parent=51383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/categories?post=51383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/tags?post=51383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}