I would like to have a powershell profile setup so that it will roam with me when I login to any system. I can do the roaming profile easily in AD with folder redirection, but how can I create a powershell profile and also have the modules I want load when I launch powershell and install? I know the server has to have the modules, but could they load from a network share and does anyone have suggestions on how to do something like this? It's not easy to get the modules on every system and it some instances I wouldn't want to leave them there. I use some of the quest modules, exchange 2010 modules, etc.
Great question! And the answer is, of course you can. Although, having said that, it may not be easy - but you do have options.
You could use a logon script or a machine startup script to download any module from some central file system to your local system. That would be a good way to get your company or application specific modules downloaded to your machine. You might consider doing a powershell script at logon/startup and use the BITS cmdlets to do this downloading.
Another approach is to NOT copy the module(s) but to make use of implicit remoting. Suppose I had a Lync server called LS1. I could remote into the box, import the lync module and exit the session (but not close it down). Then I could import the session into my local host and create proxy functions that invoked the cmdlets on the remote machine.
Using the second approach, yoiu do not neeed to copy the module in advance, you just download the implicit module at runtime.