Creating PowerShell script library

 

Great post courtesy of Fermin Sanchez

 

Creating PowerShell script library

Posted on February 25, 2012 by admin

Over time I’ve created some PowerShell scripts that I want to reuse. And of course I would like to have them at my fingertips as soon as I start a PowerShell session.

The solution to this is to create a share on the network with all my scripts and using the New-PSDrive command to map it. And since I don’t want to do that every time I open a PowerShell session, I’m going to put this in my profile.

First, open a PowerShell session and check out where the profile file is and if it already exists:

The result of Test-Path shows that the profile does not exist, yet. Regardless, the next command is used to either open an existing profile file or creating a new one:

As you can see I’ve added two commands to my profile. The first will create a PSDrive “pslib” which really just works like a network drive letter; you’ll have to adjust the path to your network share accordingly. The second command, “Set-Location pslib:” makes sure that the command prompt will start at my “psdrive:” location instead for instance “c:”.

After saving the profile and opening a new PowerShell session, this should happen:

OK, so that’s now all good for this machine. What about the rest of the machines in the network? Easy, use Group Policy Preferences!

As you have noticed, the profile file is located in the user’s profile path, so we need to generalize “c:\users\administrator….” to “%userprofile%\…”.

First, create a new Group Policy Object or open an existing that you want to use (for example a group policy that will be applied to all your servers). Navigate to User Configuration > Preferences > Windows Settings > Files and create a new item:

Source file(s)

This is the source where you keep a copy of the profile file created above. I’m using my domain’s netlogon share. Any other share will work, too.

Destination folder

This should be %userprofile%\Documents\WindowsPowerShell

And that’s it! Save the configuration item with OK, wait for replication to take its course or force it, and all machines where this GPO applies should now automatically map your “pslib” drive.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s