# Function to "Tool"

**URL:** <https://forums.powershell.org/t/function-to-tool/2656>\
**Category:** PowerShell Help\
**Created:** [June 4, 2014, 10:54pm UTC](https://forums.powershell.org/t/function-to-tool/2656 "2014-06-04T22:54:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tracy-johnston](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/tracy-johnston/32/870_2.png) [@tracy-johnston](https://forums.powershell.org/u/tracy-johnston)\
**Post date:** [June 4, 2014, 10:54pm UTC](https://forums.powershell.org/t/function-to-tool/2656/1 "2014-06-04T22:54:46Z")

</div>

After listening to Don Jones at Teched I ran back to the office and created a few functions(with examples,help and no write-host"). I now want to give this function to people on other teams. What is the best way for me to deliver this. I do not want to load it in everyone’s powershell profile. Is there a place I can store the PS1 that will auto pull it in for all users on a server?

Thanks

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex019/uploads/powershell/original/1X/385e4f9fe133561ad30a814262fe0e0ae6bc3ef0.png) [@system](https://forums.powershell.org/u/system)\
**Post date:** [June 4, 2014, 10:57pm UTC](https://forums.powershell.org/t/function-to-tool/2656/2 "2014-06-04T22:57:58Z")

</div>

Ideally, you would place this function into a module (psm1 file), and place it in the module path for the server. (In PowerShell 4.0, the ideal place for this is “C:\Program Files\WindowsPowerShell\Modules” ). Then it becomes available for everyone to import as a module, and if running PowerShell 3.0 or later, module auto-loading will allow them to run it right away (without an import command first.)

---

<div class="post-metadata">

**Author:** ![martin-nielsen](https://avatars.discourse-cdn.com/v4/letter/m/bbce88/32.png) [@martin-nielsen](https://forums.powershell.org/u/martin-nielsen)\
**Post date:** [June 5, 2014, 1:25am UTC](https://forums.powershell.org/t/function-to-tool/2656/3 "2014-06-05T01:25:33Z")

</div>

A network share works too.

`
Import-Module \\server\share\module.psm1
`

---

<div class="post-metadata">

**Author:** ![szarka-istvan](https://avatars.discourse-cdn.com/v4/letter/s/49beb7/32.png) [@szarka-istvan](https://forums.powershell.org/u/szarka-istvan)\
**Post date:** [June 5, 2014, 7:05am UTC](https://forums.powershell.org/t/function-to-tool/2656/4 "2014-06-05T07:05:42Z")

</div>

Or you could add a shared folder path to the PSModulePath environment variable and put your modules there. I guess you could do that with Group Policy or DSC. This way, you wouldn’t have to put it into PowerShell’s folder on every server.

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 8:47pm UTC](https://forums.powershell.org/t/function-to-tool/2656/5 "2024-05-16T20:47:56Z")

</div>

Closed on May 16, 2024, 8:47pm UTC


